diff --git a/disclaimers.json b/disclaimers.json index fa40814b5f9..3340ca7b3c9 100644 --- a/disclaimers.json +++ b/disclaimers.json @@ -247,10 +247,6 @@ "api": "gkehub", "package": "@google-cloud/gke-hub" }, - { - "api": "bigquery", - "package": "@google-cloud/bigquery" - }, { "api": "bigqueryconnection", "package": "@google-cloud/bigquery-connection" @@ -323,10 +319,6 @@ "api": "logging", "package": "@google-cloud/logging" }, - { - "api": "logging", - "package": "@google-cloud/logging-bunyan" - }, { "api": "logging", "package": "@google-cloud/logging-winston" @@ -443,10 +435,6 @@ "api": "policysimulator", "package": "@google-cloud/policysimulator" }, - { - "api": "cloudprofiler", - "package": "@google-cloud/profiler" - }, { "api": "pubsub", "package": "@google-cloud/pubsub" diff --git a/discovery/admin-directory_v1.json b/discovery/admin-directory_v1.json index 958c4036c32..49f7cf8525c 100644 --- a/discovery/admin-directory_v1.json +++ b/discovery/admin-directory_v1.json @@ -641,6 +641,46 @@ "https://www.googleapis.com/auth/admin.directory.device.chromeos" ] }, + "countChromeOsDevices": { + "description": "Counts ChromeOS devices matching the request.", + "flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos:countChromeOsDevices", + "httpMethod": "GET", + "id": "admin.customer.devices.chromeos.countChromeOsDevices", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. Immutable ID of the Google Workspace account.", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Search string in the format given at https://developers.google.com/workspace/admin/directory/v1/list-query-operators", + "location": "query", + "type": "string" + }, + "includeChildOrgunits": { + "description": "Optional. Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided.", + "location": "query", + "type": "boolean" + }, + "orgUnitPath": { + "description": "Optional. The full path of the organizational unit (minus the leading `/`) or its unique ID.", + "location": "query", + "type": "string" + } + }, + "path": "admin/directory/v1/customer/{customerId}/devices/chromeos:countChromeOsDevices", + "response": { + "$ref": "CountChromeOsDevicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.device.chromeos", + "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" + ] + }, "issueCommand": { "description": "Issues a command for the device to execute.", "flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}:issueCommand", @@ -4689,7 +4729,7 @@ } } }, - "revision": "20260113", + "revision": "20260210", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -6089,6 +6129,18 @@ }, "type": "object" }, + "CountChromeOsDevicesResponse": { + "description": "A response for counting ChromeOS devices.", + "id": "CountChromeOsDevicesResponse", + "properties": { + "count": { + "description": "The total number of devices matching the request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "CreatePrintServerRequest": { "description": "Request for adding a new print server.", "id": "CreatePrintServerRequest", diff --git a/discovery/admin-reports_v1.json b/discovery/admin-reports_v1.json index 8154dcbca36..210e4c1fab5 100644 --- a/discovery/admin-reports_v1.json +++ b/discovery/admin-reports_v1.json @@ -126,6 +126,11 @@ "location": "query", "type": "string" }, + "applicationInfoFilter": { + "description": "Optional. Used to filter on the `oAuthClientId` field present in [`ApplicationInfo`](#applicationinfo) message. **Usage** ``` GET...&applicationInfoFilter=oAuthClientId=\"clientId\" GET...&applicationInfoFilter=oAuthClientId=%22clientId%22 ```", + "location": "query", + "type": "string" + }, "applicationName": { "description": "Application name for which the events are to be retrieved.", "enum": [ @@ -251,6 +256,11 @@ "minimum": "1", "type": "integer" }, + "networkInfoFilter": { + "description": "Optional. Used to filter on the `regionCode` field present in [`NetworkInfo`](#networkinfo) message. **Usage** ``` GET...&networkInfoFilter=regionCode=\"IN\" GET...&networkInfoFilter=regionCode=%22IN%22 ```", + "location": "query", + "type": "string" + }, "orgUnitID": { "default": "", "description": "ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results.", @@ -274,6 +284,11 @@ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", "type": "string" }, + "statusFilter": { + "description": "Optional. Used to filter on the `statusCode` field present in [`Status`](#status) message. **Usage** ``` GET...&statusFilter=statusCode=\"200\" GET...&statusFilter=statusCode=%22200%22 ```", + "location": "query", + "type": "string" + }, "userKey": { "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`.", "location": "path", @@ -666,7 +681,7 @@ } } }, - "revision": "20251202", + "revision": "20260210", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Activities": { @@ -829,6 +844,10 @@ }, "type": "array" }, + "status": { + "$ref": "ActivityEventsStatus", + "description": "Status of the event. Note: Not all events have status." + }, "type": { "description": "Type of event. The Google Workspace service or feature that an administrator changes is identified in the `type` property which identifies an event using the `eventName` property. For a full list of the API's `type` categories, see the list of event names for various applications above in `applicationName`.", "type": "string" @@ -889,6 +908,30 @@ }, "type": "object" }, + "ActivityEventsStatus": { + "description": "Status of the event. Note: Not all events have status.", + "id": "ActivityEventsStatus", + "properties": { + "errorCode": { + "description": "Error code of the event. Note: Field can be empty.", + "type": "string" + }, + "errorMessage": { + "description": "Error message of the event. Note: Field can be empty.", + "type": "string" + }, + "eventStatus": { + "description": "* Status of the event. Possible values if not empty: - UNKNOWN_EVENT_STATUS - SUCCEEDED - SUCCEEDED_WITH_WARNINGS - FAILED - SKIPPED", + "type": "string" + }, + "httpStatusCode": { + "description": "Status code of the event. Note: Field can be empty.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ActivityNetworkInfo": { "description": "Network information of the user doing the action.", "id": "ActivityNetworkInfo", diff --git a/discovery/adsense-v2.json b/discovery/adsense-v2.json index a750406d120..625d3f7388d 100644 --- a/discovery/adsense-v2.json +++ b/discovery/adsense-v2.json @@ -1006,7 +1006,13 @@ "CUSTOM_SEARCH_STYLE_NAME", "CUSTOM_SEARCH_STYLE_ID", "DOMAIN_REGISTRANT", - "WEBSEARCH_QUERY_STRING" + "WEBSEARCH_QUERY_STRING", + "OS_TYPE_NAME", + "OS_TYPE_CODE", + "BROWSER_TYPE_NAME", + "BROWSER_TYPE_CODE", + "WEBVIEW_TYPE_NAME", + "WEBVIEW_TYPE_CODE" ], "enumDeprecated": [ false, @@ -1059,6 +1065,12 @@ false, false, false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -1112,7 +1124,13 @@ "Custom search style name.", "Custom search style id.", "Domain registrants.", - "Query strings for web searches." + "Query strings for web searches.", + "Localized operating system type name (e.g. \"Windows\", \"MacOS\", \"Android\"). For more information, see [Operating system breakdown](https://support.google.com/adsense/answer/16853822).", + "Operating system type code (e.g. \"WINDOWS\", \"MAC\", \"ANDROID\"). For more information, see [Operating system breakdown](https://support.google.com/adsense/answer/16853822).", + "Localized browser type name (e.g. \"Google Chrome\", \"Firefox\", \"Safari\"). For more information, see [Browser breakdown](https://support.google.com/adsense/answer/16851903).", + "Browser type code (e.g. \"CHROME\", \"FIREFOX\", \"SAFARI\"). For more information, see [Browser breakdown](https://support.google.com/adsense/answer/16851903).", + "Localized webview type name (e.g. \"Webview (Uncategorized)\", \"Non-webview\"). For more information, see [Hosting App breakdown](https://support.google.com/adsense/answer/16853515).", + "Webview type code (e.g. \"UNCATEGORIZED\", \"NONE\"). For more information, see [Hosting App breakdown](https://support.google.com/adsense/answer/16853515)." ], "location": "query", "repeated": true, @@ -1385,7 +1403,13 @@ "CUSTOM_SEARCH_STYLE_NAME", "CUSTOM_SEARCH_STYLE_ID", "DOMAIN_REGISTRANT", - "WEBSEARCH_QUERY_STRING" + "WEBSEARCH_QUERY_STRING", + "OS_TYPE_NAME", + "OS_TYPE_CODE", + "BROWSER_TYPE_NAME", + "BROWSER_TYPE_CODE", + "WEBVIEW_TYPE_NAME", + "WEBVIEW_TYPE_CODE" ], "enumDeprecated": [ false, @@ -1438,6 +1462,12 @@ false, false, false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -1491,7 +1521,13 @@ "Custom search style name.", "Custom search style id.", "Domain registrants.", - "Query strings for web searches." + "Query strings for web searches.", + "Localized operating system type name (e.g. \"Windows\", \"MacOS\", \"Android\"). For more information, see [Operating system breakdown](https://support.google.com/adsense/answer/16853822).", + "Operating system type code (e.g. \"WINDOWS\", \"MAC\", \"ANDROID\"). For more information, see [Operating system breakdown](https://support.google.com/adsense/answer/16853822).", + "Localized browser type name (e.g. \"Google Chrome\", \"Firefox\", \"Safari\"). For more information, see [Browser breakdown](https://support.google.com/adsense/answer/16851903).", + "Browser type code (e.g. \"CHROME\", \"FIREFOX\", \"SAFARI\"). For more information, see [Browser breakdown](https://support.google.com/adsense/answer/16851903).", + "Localized webview type name (e.g. \"Webview (Uncategorized)\", \"Non-webview\"). For more information, see [Hosting App breakdown](https://support.google.com/adsense/answer/16853515).", + "Webview type code (e.g. \"UNCATEGORIZED\", \"NONE\"). For more information, see [Hosting App breakdown](https://support.google.com/adsense/answer/16853515)." ], "location": "query", "repeated": true, @@ -2030,7 +2066,7 @@ } } }, - "revision": "20251002", + "revision": "20260209", "rootUrl": "https://adsense.googleapis.com/", "schemas": { "Account": { diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index 2b8e5595eee..2cd10e21bb0 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -253,11 +253,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://aiplatform.eu.rep.googleapis.com/", "location": "eu" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://staging-aiplatform.us.rep.sandbox.googleapis.com/", - "location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -22170,6 +22165,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists reasoning engines in a location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", @@ -22273,6 +22299,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "streamQuery": { "description": "Streams queries using a reasoning engine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", @@ -22300,6 +22354,37 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "location": "query", + "repeated": true, + "type": "string" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -30639,7 +30724,7 @@ } } }, - "revision": "20260126", + "revision": "20260208", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -31183,122 +31268,6 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1AgentData": { - "description": "Represents data specific to multi-turn agent evaluations.", - "id": "GoogleCloudAiplatformV1AgentData", - "properties": { - "agents": { - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1AgentDataAgentConfig" - }, - "description": "Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents.", - "type": "object" - }, - "turns": { - "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", - "items": { - "$ref": "GoogleCloudAiplatformV1AgentDataConversationTurn" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataAgentConfig": { - "description": "Represents configuration for an Agent.", - "id": "GoogleCloudAiplatformV1AgentDataAgentConfig", - "properties": { - "agentId": { - "description": "Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map.", - "type": "string" - }, - "agentType": { - "description": "Optional. The type or class of the agent (e.g., \"LlmAgent\", \"RouterAgent\", \"ToolUseAgent\"). Useful for the autorater to understand the expected behavior of the agent.", - "type": "string" - }, - "description": { - "description": "Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.", - "type": "string" - }, - "developerInstruction": { - "description": "Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field.", - "type": "string" - }, - "subAgents": { - "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology.", - "items": { - "type": "string" - }, - "type": "array" - }, - "tools": { - "description": "Optional. The list of tools available to this agent.", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataAgentEvent": { - "description": "Represents a single event in the execution trace.", - "id": "GoogleCloudAiplatformV1AgentDataAgentEvent", - "properties": { - "activeTools": { - "description": "Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set.", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - }, - "type": "array" - }, - "author": { - "description": "Required. The ID of the agent or entity that generated this event. Use \"user\" to denote events generated by the end-user.", - "type": "string" - }, - "content": { - "$ref": "GoogleCloudAiplatformV1Content", - "description": "Optional. The content of the event (e.g., text response, tool call, tool response)." - }, - "eventTime": { - "description": "Optional. The timestamp when the event occurred.", - "format": "google-datetime", - "type": "string" - }, - "stateDelta": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. The change in the session state caused by this event. This is a key-value map of fields that were modified or added by the event.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataConversationTurn": { - "description": "Represents a single turn/invocation in the conversation.", - "id": "GoogleCloudAiplatformV1AgentDataConversationTurn", - "properties": { - "events": { - "description": "Optional. The list of events that occurred during this turn.", - "items": { - "$ref": "GoogleCloudAiplatformV1AgentDataAgentEvent" - }, - "type": "array" - }, - "turnId": { - "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", - "type": "string" - }, - "turnIndex": { - "description": "Optional. The 0-based index of the turn in the conversation sequence.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1AggregationOutput": { "description": "The aggregation result for the entire dataset and all metrics.", "id": "GoogleCloudAiplatformV1AggregationOutput", @@ -33040,14 +33009,15 @@ "description": "Responses from model or agent.", "id": "GoogleCloudAiplatformV1CandidateResponse", "properties": { - "agentData": { - "$ref": "GoogleCloudAiplatformV1AgentData", - "description": "Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This field is used to provide the full output of an agent's run, including all turns and events, for direct evaluation." - }, "candidate": { "description": "Required. The name of the candidate that produced the response.", "type": "string" }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Output only. Error while scraping model or agent.", + "readOnly": true + }, "text": { "description": "Text response.", "type": "string" @@ -33496,6 +33466,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1ComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ComputeTokensRequest": { "description": "Request message for ComputeTokens RPC call.", "id": "GoogleCloudAiplatformV1ComputeTokensRequest", @@ -36687,6 +36688,11 @@ "id": "GoogleCloudAiplatformV1EvaluationInstance", "properties": { "agentData": { + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", + "deprecated": true, + "description": "Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation." + }, + "agentEvalData": { "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", "description": "Optional. Data used for agent evaluation." }, @@ -36717,6 +36723,7 @@ "type": "object" }, "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig": { + "deprecated": true, "description": "Configuration for an Agent.", "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig", "properties": { @@ -36769,6 +36776,7 @@ "type": "object" }, "GoogleCloudAiplatformV1EvaluationInstanceAgentData": { + "deprecated": true, "description": "Contains data specific to agent evaluations.", "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", "properties": { @@ -37010,10 +37018,6 @@ "description": "Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations.", "id": "GoogleCloudAiplatformV1EvaluationPrompt", "properties": { - "agentData": { - "$ref": "GoogleCloudAiplatformV1AgentData", - "description": "Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This serves as the input context for agent scraping." - }, "promptTemplateData": { "$ref": "GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData", "description": "Prompt template data." @@ -37350,6 +37354,10 @@ "description": "The metric used for evaluation runs.", "id": "GoogleCloudAiplatformV1EvaluationRunMetric", "properties": { + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "llmBasedMetricSpec": { "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec", "description": "Spec for an LLM based metric." @@ -37373,6 +37381,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec": { "description": "Specification for an LLM based metric.", "id": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec", @@ -40990,11 +41029,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "The request was processed using Pay-As-You-Go quota.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, @@ -44925,6 +44968,10 @@ "$ref": "GoogleCloudAiplatformV1BleuSpec", "description": "Spec for bleu metric." }, + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1ComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "customCodeExecutionSpec": { "$ref": "GoogleCloudAiplatformV1CustomCodeExecutionSpec", "description": "Spec for Custom Code Execution metric." @@ -50251,6 +50298,13 @@ "description": "Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160).", "type": "string" }, + "filterGroups": { + "description": "Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: \"author\", value: {string_value: \"agent 123\"}, op: EQUAL}]}, {filters: [{key: \"label\", value: {string_value: \"travel\"}, op: EQUAL}, {key: \"author\", value: {string_value: \"agent 321\"}, op: EQUAL}]}]` would be equivalent to the logical expression: `(metadata.author = \"agent 123\" OR (metadata.label = \"travel\" AND metadata.author = \"agent 321\"))`.", + "items": { + "$ref": "GoogleCloudAiplatformV1MemoryConjunctionFilter" + }, + "type": "array" + }, "force": { "description": "Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed.", "type": "boolean" @@ -62071,11 +62125,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "Type for Pay-As-You-Go traffic.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index ca26c6fa35a..c8b9cd42f70 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -253,11 +253,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://aiplatform.eu.rep.googleapis.com/", "location": "eu" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://staging-aiplatform.us.rep.sandbox.googleapis.com/", - "location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -3101,6 +3096,110 @@ } } }, + "evaluationMetrics": { + "resources": { + "operations": { + "methods": { + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta1/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.evaluationMetrics.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^evaluationMetrics/[^/]+/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/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.evaluationMetrics.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^evaluationMetrics/[^/]+/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/evaluationMetrics/{evaluationMetricsId}/operations", + "httpMethod": "GET", + "id": "aiplatform.evaluationMetrics.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": "^evaluationMetrics/[^/]+$", + "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" + ] + } + } + } + } + }, "evaluationRuns": { "resources": { "operations": { @@ -13443,6 +13542,110 @@ } } }, + "evaluationMetrics": { + "resources": { + "operations": { + "methods": { + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.evaluationMetrics.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/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}/evaluationMetrics/{evaluationMetricsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.evaluationMetrics.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/evaluationMetrics/[^/]+/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}/evaluationMetrics/{evaluationMetricsId}/operations", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.evaluationMetrics.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/[^/]+/evaluationMetrics/[^/]+$", + "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" + ] + } + } + } + } + }, "evaluationRuns": { "methods": { "cancel": { @@ -27474,6 +27677,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists reasoning engines in a location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", @@ -27577,6 +27811,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "streamQuery": { "description": "Streams queries using a reasoning engine.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", @@ -27604,6 +27866,37 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "location": "query", + "repeated": true, + "type": "string" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -37776,7 +38069,7 @@ } } }, - "revision": "20260126", + "revision": "20260208", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -38331,30 +38624,9 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentData": { - "description": "Represents data specific to multi-turn agent evaluations.", - "id": "GoogleCloudAiplatformV1beta1AgentData", - "properties": { - "agents": { - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataAgentConfig" - }, - "description": "Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents.", - "type": "object" - }, - "turns": { - "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", - "items": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataConversationTurn" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1beta1AgentDataAgentConfig": { + "GoogleCloudAiplatformV1beta1AgentConfig": { "description": "Represents configuration for an Agent.", - "id": "GoogleCloudAiplatformV1beta1AgentDataAgentConfig", + "id": "GoogleCloudAiplatformV1beta1AgentConfig", "properties": { "agentId": { "description": "Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map.", @@ -38368,12 +38640,12 @@ "description": "Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.", "type": "string" }, - "developerInstruction": { - "description": "Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field.", + "instruction": { + "description": "Optional. Provides instructions for the LLM model, guiding the agent's behavior. Can be static or dynamic. Dynamic instructions can contain placeholders like {variable_name} that will be resolved at runtime using the `AgentEvent.state_delta` field.", "type": "string" }, "subAgents": { - "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology.", + "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the multi-agent system graph topology.", "items": { "type": "string" }, @@ -38389,9 +38661,30 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentDataAgentEvent": { + "GoogleCloudAiplatformV1beta1AgentData": { + "description": "Represents data specific to multi-turn agent evaluations.", + "id": "GoogleCloudAiplatformV1beta1AgentData", + "properties": { + "agents": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1beta1AgentConfig" + }, + "description": "Optional. A map containing the static configurations for each agent in the system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agent.", + "type": "object" + }, + "turns": { + "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1AgentEvent": { "description": "Represents a single event in the execution trace.", - "id": "GoogleCloudAiplatformV1beta1AgentDataAgentEvent", + "id": "GoogleCloudAiplatformV1beta1AgentEvent", "properties": { "activeTools": { "description": "Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set.", @@ -38406,7 +38699,7 @@ }, "content": { "$ref": "GoogleCloudAiplatformV1beta1Content", - "description": "Optional. The content of the event (e.g., text response, tool call, tool response)." + "description": "Required. The content of the event (e.g., text response, tool call, tool response)." }, "eventTime": { "description": "Optional. The timestamp when the event occurred.", @@ -38424,29 +38717,6 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentDataConversationTurn": { - "description": "Represents a single turn/invocation in the conversation.", - "id": "GoogleCloudAiplatformV1beta1AgentDataConversationTurn", - "properties": { - "events": { - "description": "Optional. The list of events that occurred during this turn.", - "items": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataAgentEvent" - }, - "type": "array" - }, - "turnId": { - "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", - "type": "string" - }, - "turnIndex": { - "description": "Optional. The 0-based index of the turn in the conversation sequence.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1beta1AggregationOutput": { "description": "The aggregation result for the entire dataset and all metrics.", "id": "GoogleCloudAiplatformV1beta1AggregationOutput", @@ -40375,6 +40645,11 @@ "description": "Required. The name of the candidate that produced the response.", "type": "string" }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Output only. Error while scraping model or agent.", + "readOnly": true + }, "events": { "description": "Optional. Intermediate events (such as tool calls and responses) that led to the final response.", "items": { @@ -40841,6 +41116,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ComputeTokensRequest": { "description": "Request message for ComputeTokens RPC call.", "id": "GoogleCloudAiplatformV1beta1ComputeTokensRequest", @@ -41067,6 +41373,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ConversationTurn": { + "description": "Represents a single turn/invocation in the conversation.", + "id": "GoogleCloudAiplatformV1beta1ConversationTurn", + "properties": { + "events": { + "description": "Optional. The list of events that occurred during this turn.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1AgentEvent" + }, + "type": "array" + }, + "turnId": { + "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", + "type": "string" + }, + "turnIndex": { + "description": "Required. The 0-based index of the turn in the conversation sequence.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1CopyModelOperationMetadata": { "description": "Details of ModelService.CopyModel operation.", "id": "GoogleCloudAiplatformV1beta1CopyModelOperationMetadata", @@ -44415,6 +44744,11 @@ "id": "GoogleCloudAiplatformV1beta1EvaluationInstance", "properties": { "agentData": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", + "deprecated": true, + "description": "Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation." + }, + "agentEvalData": { "$ref": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", "description": "Optional. Data used for agent evaluation." }, @@ -44445,6 +44779,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentConfig": { + "deprecated": true, "description": "Configuration for an Agent.", "id": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentConfig", "properties": { @@ -44497,6 +44832,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData": { + "deprecated": true, "description": "Contains data specific to agent evaluations.", "id": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", "properties": { @@ -45100,6 +45436,10 @@ "description": "The metric used for evaluation runs.", "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetric", "properties": { + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "llmBasedMetricSpec": { "$ref": "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec", "description": "Spec for an LLM based metric." @@ -45123,6 +45463,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec": { "description": "Specification for an LLM based metric.", "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec", @@ -49267,6 +49638,10 @@ "description": "Optional. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", "type": "string" }, + "modelArmorConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ModelArmorConfig", + "description": "Optional. Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied." + }, "safetySettings": { "description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", "items": { @@ -49633,11 +50008,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "The request was processed using Pay-As-You-Go quota.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, @@ -53949,6 +54328,10 @@ "$ref": "GoogleCloudAiplatformV1beta1BleuSpec", "description": "Spec for bleu metric." }, + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "customCodeExecutionSpec": { "$ref": "GoogleCloudAiplatformV1beta1CustomCodeExecutionSpec", "description": "Spec for Custom Code Execution metric." @@ -60319,6 +60702,13 @@ "description": "Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160).", "type": "string" }, + "filterGroups": { + "description": "Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: \"author\", value: {string_value: \"agent 123\"}, op: EQUAL}]}, {filters: [{key: \"label\", value: {string_value: \"travel\"}, op: EQUAL}, {key: \"author\", value: {string_value: \"agent 321\"}, op: EQUAL}]}]` would be equivalent to the logical expression: `(metadata.author = \"agent 123\" OR (metadata.label = \"travel\" AND metadata.author = \"agent 321\"))`.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1MemoryConjunctionFilter" + }, + "type": "array" + }, "force": { "description": "Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed.", "type": "boolean" @@ -64105,6 +64495,11 @@ "description": "Output only. Response of the last scheduled run. This is the response for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable). Unset if no run has been scheduled yet.", "readOnly": true }, + "maxConcurrentActiveRunCount": { + "description": "Optional. Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.", + "format": "int64", + "type": "string" + }, "maxConcurrentRunCount": { "description": "Required. Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable).", "format": "int64", @@ -73536,11 +73931,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "Type for Pay-As-You-Go traffic.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 2e1141da061..be65bf752ca 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1879,7 +1879,7 @@ } } }, - "revision": "20260122", + "revision": "20260205", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5251,7 +5251,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5283,7 +5283,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5291,7 +5292,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5330,7 +5332,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5338,7 +5341,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5426,6 +5430,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6141,6 +6152,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6164,6 +6190,10 @@ "description": "MaintenanceInfo to capture the maintenance details of database resource.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo", "properties": { + "currentVersionReleaseDate": { + "$ref": "GoogleTypeDate", + "description": "Optional. The date when the current maintenance version was released." + }, "denyMaintenanceSchedules": { "description": "Optional. List of Deny maintenance period for the database resource.", "items": { @@ -6171,6 +6201,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index 8ec92135366..8bdeaef93f6 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1879,7 +1879,7 @@ } } }, - "revision": "20260122", + "revision": "20260205", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -2758,16 +2758,6 @@ "description": "Configuration for Managed Connection Pool (MCP).", "id": "ConnectionPoolConfig", "properties": { - "defaultPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "enable": { - "deprecated": true, - "description": "Optional. Deprecated; Prefer 'enabled' as this will be removed soon.", - "type": "boolean" - }, "enabled": { "description": "Optional. Whether to enable Managed Connection Pool (MCP).", "type": "boolean" @@ -2779,67 +2769,11 @@ "description": "Optional. Connection Pool flags, as a list of \"key\": \"value\" pairs.", "type": "object" }, - "ignoreStartupParameters": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to [\"extra_float_digits\"] Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" - }, - "maxClientConn": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "maxPreparedStatements": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "minPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "poolMode": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already.", - "enum": [ - "POOL_MODE_UNSPECIFIED", - "POOL_MODE_SESSION", - "POOL_MODE_TRANSACTION" - ], - "enumDescriptions": [ - "The pool mode is not specified. Defaults to `POOL_MODE_TRANSACTION`.", - "Server is released back to pool after a client disconnects.", - "Server is released back to pool after a transaction finishes." - ], - "type": "string" - }, "poolerCount": { "description": "Output only. The number of running poolers per instance.", "format": "int32", "readOnly": true, "type": "integer" - }, - "queryWaitTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "serverIdleTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "statsUsers": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -5511,7 +5445,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5543,7 +5477,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5551,7 +5486,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5590,7 +5526,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5598,7 +5535,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5686,6 +5624,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6401,6 +6346,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6424,6 +6384,10 @@ "description": "MaintenanceInfo to capture the maintenance details of database resource.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo", "properties": { + "currentVersionReleaseDate": { + "$ref": "GoogleTypeDate", + "description": "Optional. The date when the current maintenance version was released." + }, "denyMaintenanceSchedules": { "description": "Optional. List of Deny maintenance period for the database resource.", "items": { @@ -6431,6 +6395,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index dc756ff9e51..2862856946d 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1876,7 +1876,7 @@ } } }, - "revision": "20260122", + "revision": "20260205", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -2739,16 +2739,6 @@ "description": "Configuration for Managed Connection Pool (MCP).", "id": "ConnectionPoolConfig", "properties": { - "defaultPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "enable": { - "deprecated": true, - "description": "Optional. Deprecated; Prefer 'enabled' as this will be removed soon.", - "type": "boolean" - }, "enabled": { "description": "Optional. Whether to enable Managed Connection Pool (MCP).", "type": "boolean" @@ -2760,67 +2750,11 @@ "description": "Optional. Connection Pool flags, as a list of \"key\": \"value\" pairs.", "type": "object" }, - "ignoreStartupParameters": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to [\"extra_float_digits\"] Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" - }, - "maxClientConn": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "maxPreparedStatements": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "minPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "poolMode": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already.", - "enum": [ - "POOL_MODE_UNSPECIFIED", - "POOL_MODE_SESSION", - "POOL_MODE_TRANSACTION" - ], - "enumDescriptions": [ - "The pool mode is not specified. Defaults to `POOL_MODE_TRANSACTION`.", - "Server is released back to pool after a client disconnects.", - "Server is released back to pool after a transaction finishes." - ], - "type": "string" - }, "poolerCount": { "description": "Output only. The number of running poolers per instance.", "format": "int32", "readOnly": true, "type": "integer" - }, - "queryWaitTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "serverIdleTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "statsUsers": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -5487,7 +5421,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5519,7 +5453,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5527,7 +5462,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5566,7 +5502,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5574,7 +5511,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5662,6 +5600,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6377,6 +6322,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6400,6 +6360,10 @@ "description": "MaintenanceInfo to capture the maintenance details of database resource.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo", "properties": { + "currentVersionReleaseDate": { + "$ref": "GoogleTypeDate", + "description": "Optional. The date when the current maintenance version was released." + }, "denyMaintenanceSchedules": { "description": "Optional. List of Deny maintenance period for the database resource.", "items": { @@ -6407,6 +6371,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." diff --git a/discovery/androidmanagement-v1.json b/discovery/androidmanagement-v1.json index ba4ec5d382d..121a64522cb 100644 --- a/discovery/androidmanagement-v1.json +++ b/discovery/androidmanagement-v1.json @@ -1265,7 +1265,7 @@ } } }, - "revision": "20260127", + "revision": "20260212", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -2432,7 +2432,7 @@ "id": "ApplicationSigningKeyCert", "properties": { "signingKeyCertFingerprintSha256": { - "description": "Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. Otherwise, the policy is rejected.", + "description": "Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes.", "format": "byte", "type": "string" } @@ -5336,7 +5336,7 @@ "type": "string" }, "telephonyInfos": { - "description": "Provides telephony information associated with each SIM card on the device. Only supported on fully managed devices starting from Android API level 23.", + "description": "Provides telephony information associated with each SIM card on the device. Only supported on fully managed devices starting from Android 6.", "items": { "$ref": "TelephonyInfo" }, @@ -7613,11 +7613,11 @@ "type": "object" }, "TelephonyInfo": { - "description": "Telephony information associated with a given SIM card on the device. Only supported on fully managed devices starting from Android API level 23.", + "description": "Telephony information associated with a given SIM card on the device. This is supported for all SIM cards on fully managed devices on Android 6 and above. In addition, this is supported for admin-added eSIMs on all devices for Android 15 and above.", "id": "TelephonyInfo", "properties": { "activationState": { - "description": "Output only. Activation state of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for API level 35 and above. This is always ACTIVATION_STATE_UNSPECIFIED for physical SIMs and for devices below API level 35.", + "description": "Output only. Activation state of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for Android 15 and above. This is always ACTIVATION_STATE_UNSPECIFIED for physical SIMs and for devices below Android 15.", "enum": [ "ACTIVATION_STATE_UNSPECIFIED", "ACTIVATED", @@ -7636,7 +7636,7 @@ "type": "string" }, "configMode": { - "description": "Output only. The configuration mode of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for API level 35 and above. This is always CONFIG_MODE_UNSPECIFIED for physical SIMs and for devices below API level 35.", + "description": "Output only. The configuration mode of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for Android 15 and above. This is always CONFIG_MODE_UNSPECIFIED for physical SIMs and for devices below Android 15.", "enum": [ "CONFIG_MODE_UNSPECIFIED", "ADMIN_CONFIGURED", diff --git a/discovery/apigateway-v1.json b/discovery/apigateway-v1.json index 4b55b953ccf..3bc24f1b063 100644 --- a/discovery/apigateway-v1.json +++ b/discovery/apigateway-v1.json @@ -134,7 +134,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apigateway.projects.locations.list", @@ -1094,7 +1094,7 @@ } } }, - "revision": "20251210", + "revision": "20260127", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { diff --git a/discovery/apigateway-v1beta.json b/discovery/apigateway-v1beta.json index 7dd9c2f1e6b..aaab4005607 100644 --- a/discovery/apigateway-v1beta.json +++ b/discovery/apigateway-v1beta.json @@ -134,7 +134,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apigateway.projects.locations.list", @@ -1094,7 +1094,7 @@ } } }, - "revision": "20251210", + "revision": "20260127", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { diff --git a/discovery/apigee-v1.json b/discovery/apigee-v1.json index c714b44daf7..62ffa2cd48d 100644 --- a/discovery/apigee-v1.json +++ b/discovery/apigee-v1.json @@ -11914,9 +11914,84 @@ } } }, - "revision": "20260106", + "revision": "20260130", "rootUrl": "https://apigee.googleapis.com/", "schemas": { + "ApiservingMcpMcpToolDataHandlingProfile": { + "description": "Profile describing the data handling characteristics of an MCP tool. When used within the McpTool.meta field, this message should be packed into a google.protobuf.Any and associated with the key: \"google.com/tool.profiles/data_handling\"", + "id": "ApiservingMcpMcpToolDataHandlingProfile", + "properties": { + "inputDataAccessLevel": { + "description": "// The data access level of the tool's inputs.", + "enum": [ + "DATA_ACCESS_LEVEL_UNSPECIFIED", + "DATA_ACCESS_LEVEL_PUBLIC", + "DATA_ACCESS_LEVEL_CONFIDENTIAL", + "DATA_ACCESS_LEVEL_NEED_TO_KNOW", + "DATA_ACCESS_LEVEL_PII", + "DATA_ACCESS_LEVEL_USER", + "DATA_ACCESS_LEVEL_NO_DATA_ACCESS" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "Public data.", + "Confidential data.", + "Need-to-know data.", + "Personally Identifiable Information (PII) data.", + "User data.", + "The tool does not access any data." + ], + "type": "string" + }, + "outputDataAccessLevel": { + "description": "The data access level of the tool's outputs.", + "enum": [ + "DATA_ACCESS_LEVEL_UNSPECIFIED", + "DATA_ACCESS_LEVEL_PUBLIC", + "DATA_ACCESS_LEVEL_CONFIDENTIAL", + "DATA_ACCESS_LEVEL_NEED_TO_KNOW", + "DATA_ACCESS_LEVEL_PII", + "DATA_ACCESS_LEVEL_USER", + "DATA_ACCESS_LEVEL_NO_DATA_ACCESS" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "Public data.", + "Confidential data.", + "Need-to-know data.", + "Personally Identifiable Information (PII) data.", + "User data.", + "The tool does not access any data." + ], + "type": "string" + } + }, + "type": "object" + }, + "ApiservingMcpMcpToolLifecycleProfile": { + "description": "Profile describing the lifecycle stage of an MCP tool. When used within the McpTool.meta field, this message should be packed into a google.protobuf.Any and associated with the key: \"google.com/tool.profiles/lifecycle\"", + "id": "ApiservingMcpMcpToolLifecycleProfile", + "properties": { + "launchState": { + "description": "Output only. The current launch state of the MCP tool.", + "enum": [ + "LAUNCH_STATE_UNSPECIFIED", + "LAUNCH_STATE_DEVELOPMENT", + "LAUNCH_STATE_PRODUCTION_PREVIEW", + "LAUNCH_STATE_GENERAL_AVAILABILITY" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "The tool is currently in development.", + "The tool is in production preview.", + "The tool is generally available." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "EdgeConfigstoreBundleBadBundle": { "description": "Describes why a bundle is invalid. Intended for use in error details.", "id": "EdgeConfigstoreBundleBadBundle", @@ -19075,7 +19150,7 @@ "type": "object" }, "GoogleCloudApigeeV1RuntimeTraceConfig": { - "description": "NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed trace in an environment.", + "description": "NEXT ID: 9 RuntimeTraceConfig defines the configurations for distributed trace in an environment.", "id": "GoogleCloudApigeeV1RuntimeTraceConfig", "properties": { "endpoint": { @@ -19087,12 +19162,14 @@ "enum": [ "EXPORTER_UNSPECIFIED", "JAEGER", - "CLOUD_TRACE" + "CLOUD_TRACE", + "OPEN_TELEMETRY_COLLECTOR" ], "enumDescriptions": [ "Exporter unspecified", "Jaeger exporter", - "Cloudtrace exporter" + "Cloudtrace exporter", + "Open Telemetry Collector" ], "type": "string" }, @@ -19100,6 +19177,10 @@ "description": "Name of the trace config in the following format: `organizations/{org}/environment/{env}/traceConfig`", "type": "string" }, + "openTelemetryProtocolEnabled": { + "description": "If `true`, the runtime uses OpenTelemetry Protocol (OTLP) to send trace data. Configuration Requirements (if `open_telemetry_protocol_enabled` is `true`): - Allowed `Exporter`s: `CLOUD_TRACE` or `OPEN_TELEMETRY_COLLECTOR`. - If `Exporter` is `OPEN_TELEMETRY_COLLECTOR`: - `endpoint` refers to a valid OTLP collector URL. - If `Exporter` is `CLOUD_TRACE`: - `endpoint` refers to a valid project ID", + "type": "boolean" + }, "overrides": { "description": "List of trace configuration overrides for spicific API proxies.", "items": { @@ -19124,7 +19205,7 @@ "type": "object" }, "GoogleCloudApigeeV1RuntimeTraceConfigOverride": { - "description": "NEXT ID: 7 Trace configuration override for a specific API proxy in an environment.", + "description": "NEXT ID: 8 Trace configuration override for a specific API proxy in an environment.", "id": "GoogleCloudApigeeV1RuntimeTraceConfigOverride", "properties": { "apiProxy": { @@ -19135,6 +19216,10 @@ "description": "Name of the trace config override in the following format: `organizations/{org}/environment/{env}/traceConfig/overrides/{override}`", "type": "string" }, + "openTelemetryProtocolEnabled": { + "description": "If `true`, the runtime uses OpenTelemetry Protocol (OTLP) to send trace data. Configuration Requirements (if `open_telemetry_protocol_enabled` is `true`): - Allowed `Exporter`s: `CLOUD_TRACE` or `OPEN_TELEMETRY_COLLECTOR`. - If `Exporter` is `OPEN_TELEMETRY_COLLECTOR`: - `endpoint` refers to a valid OTLP collector URL. - If `Exporter` is `CLOUD_TRACE`: - `endpoint` refers to a valid project ID", + "type": "boolean" + }, "revisionCreateTime": { "description": "The timestamp that the revision was created or updated.", "format": "google-datetime", @@ -21094,12 +21179,14 @@ "enum": [ "EXPORTER_UNSPECIFIED", "JAEGER", - "CLOUD_TRACE" + "CLOUD_TRACE", + "OPEN_TELEMETRY_COLLECTOR" ], "enumDescriptions": [ "Exporter unspecified", "Jaeger exporter", - "Cloudtrace exporter" + "Cloudtrace exporter", + "Open Telemetry Collector" ], "type": "string" }, diff --git a/discovery/apihub-v1.json b/discovery/apihub-v1.json index 2f0d4ed975e..9cc29691fc4 100644 --- a/discovery/apihub-v1.json +++ b/discovery/apihub-v1.json @@ -15,6 +15,53 @@ "description": "", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.us-west1.rep.googleapis.com/", + "location": "us-west1" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -163,7 +210,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apihub.projects.locations.list", @@ -3173,7 +3220,7 @@ } } }, - "revision": "20260119", + "revision": "20260211", "rootUrl": "https://apihub.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/apim-v1alpha.json b/discovery/apim-v1alpha.json index c7f92573d6f..f8f8feed7fa 100644 --- a/discovery/apim-v1alpha.json +++ b/discovery/apim-v1alpha.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apim.projects.locations.list", @@ -851,7 +851,7 @@ } } }, - "revision": "20251112", + "revision": "20260128", "rootUrl": "https://apim.googleapis.com/", "schemas": { "ApiObservation": { diff --git a/discovery/appengine-v1beta.json b/discovery/appengine-v1beta.json index 5b616bedd40..00d7149eb78 100644 --- a/discovery/appengine-v1beta.json +++ b/discovery/appengine-v1beta.json @@ -2697,6 +2697,65 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "delete": { + "description": "Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.instances.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId", + "instancesId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "instancesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -2809,7 +2868,7 @@ } } }, - "revision": "20260126", + "revision": "20260202", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { diff --git a/discovery/appsmarket-v2.json b/discovery/appsmarket-v2.json index a1ce94a8b3c..6bfa0121579 100644 --- a/discovery/appsmarket-v2.json +++ b/discovery/appsmarket-v2.json @@ -108,7 +108,7 @@ "customerLicense": { "methods": { "get": { - "description": "Gets the status of a license for a customer to determine if they have access for a given app.", + "description": "Gets the customer's licensing status to determine if they have access to a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api).", "flatPath": "appsmarket/v2/customerLicense/{applicationId}/{customerId}", "httpMethod": "GET", "id": "appsmarket.customerLicense.get", @@ -118,13 +118,13 @@ ], "parameters": { "applicationId": { - "description": "Application Id", + "description": "The ID of the application.", "location": "path", "required": true, "type": "string" }, "customerId": { - "description": "Customer Id", + "description": "The ID of the customer.", "location": "path", "required": true, "type": "string" @@ -143,7 +143,7 @@ "userLicense": { "methods": { "get": { - "description": "Gets the user's licensing status for their permission to use a given app.", + "description": "Gets the user's licensing status to determine if they have permission to use a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api).", "flatPath": "appsmarket/v2/userLicense/{applicationId}/{userId}", "httpMethod": "GET", "id": "appsmarket.userLicense.get", @@ -153,13 +153,13 @@ ], "parameters": { "applicationId": { - "description": "Application Id", + "description": "The ID of the application.", "location": "path", "required": true, "type": "string" }, "userId": { - "description": "User Id", + "description": "The ID of the user.", "location": "path", "required": true, "type": "string" @@ -176,7 +176,7 @@ } } }, - "revision": "20251217", + "revision": "20260209", "rootUrl": "https://appsmarket.googleapis.com/", "schemas": { "CustomerLicense": { @@ -203,11 +203,11 @@ "type": "string" }, "kind": { - "description": "The type of API resource. This is always appsmarket#customerLicense.", + "description": "The type of API resource. This is always `appsmarket#customerLicense`.", "type": "string" }, "state": { - "description": "The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license: either this customer has never installed your application, or else has deleted it.", + "description": "The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license. Either this customer has never installed your application or has deleted it.", "type": "string" } }, @@ -257,11 +257,11 @@ "type": "boolean" }, "id": { - "description": "The ID of user license.", + "description": "The ID of the user license.", "type": "string" }, "kind": { - "description": "The type of API resource. This is always appsmarket#userLicense.", + "description": "The type of API resource. This is always `appsmarket#userLicense`.", "type": "string" }, "state": { diff --git a/discovery/artifactregistry-v1.json b/discovery/artifactregistry-v1.json index 7632963633b..7b8b69c04e6 100644 --- a/discovery/artifactregistry-v1.json +++ b/discovery/artifactregistry-v1.json @@ -464,7 +464,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -2493,7 +2493,7 @@ } } }, - "revision": "20260102", + "revision": "20260206", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -3284,12 +3284,14 @@ "enum": [ "HASH_TYPE_UNSPECIFIED", "SHA256", - "MD5" + "MD5", + "DIRSUM_SHA256" ], "enumDescriptions": [ "Unspecified.", "SHA256 hash.", - "MD5 hash." + "MD5 hash.", + "Dirsum SHA256 hash." ], "type": "string" }, diff --git a/discovery/artifactregistry-v1beta1.json b/discovery/artifactregistry-v1beta1.json index fa15f1bb610..c5f984fbbfd 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.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -1182,7 +1182,7 @@ } } }, - "revision": "20251029", + "revision": "20260206", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { @@ -1284,12 +1284,14 @@ "enum": [ "HASH_TYPE_UNSPECIFIED", "SHA256", - "MD5" + "MD5", + "DIRSUM_SHA256" ], "enumDescriptions": [ "Unspecified.", "SHA256 hash.", - "MD5 hash." + "MD5 hash.", + "Dirsum SHA256 hash." ], "type": "string" }, diff --git a/discovery/artifactregistry-v1beta2.json b/discovery/artifactregistry-v1beta2.json index 0a352e6abf9..3d30c093185 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.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -1450,7 +1450,7 @@ } } }, - "revision": "20251029", + "revision": "20260206", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1606,12 +1606,14 @@ "enum": [ "HASH_TYPE_UNSPECIFIED", "SHA256", - "MD5" + "MD5", + "DIRSUM_SHA256" ], "enumDescriptions": [ "Unspecified.", "SHA256 hash.", - "MD5 hash." + "MD5 hash.", + "Dirsum SHA256 hash." ], "type": "string" }, diff --git a/discovery/backupdr-v1.json b/discovery/backupdr-v1.json index 8dea492b2f9..4fd3210a53f 100644 --- a/discovery/backupdr-v1.json +++ b/discovery/backupdr-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "backupdr.projects.locations.list", @@ -2262,7 +2262,7 @@ } } }, - "revision": "20260116", + "revision": "20260128", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -6059,7 +6059,7 @@ "type": "string" }, "vaulted": { - "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. set.", + "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set.", "readOnly": true, "type": "boolean" } diff --git a/discovery/baremetalsolution-v2.json b/discovery/baremetalsolution-v2.json index 82a5978baa2..8d67d6c5656 100644 --- a/discovery/baremetalsolution-v2.json +++ b/discovery/baremetalsolution-v2.json @@ -134,7 +134,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "baremetalsolution.projects.locations.list", @@ -1728,7 +1728,7 @@ } } }, - "revision": "20260112", + "revision": "20260128", "rootUrl": "https://baremetalsolution.googleapis.com/", "schemas": { "AllowedClient": { diff --git a/discovery/beyondcorp-v1.json b/discovery/beyondcorp-v1.json index f0896f4b7bb..9439154b032 100644 --- a/discovery/beyondcorp-v1.json +++ b/discovery/beyondcorp-v1.json @@ -271,7 +271,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "beyondcorp.projects.locations.list", @@ -1909,7 +1909,7 @@ } } }, - "revision": "20251210", + "revision": "20260128", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/discovery/beyondcorp-v1alpha.json b/discovery/beyondcorp-v1alpha.json index 68078138bf7..2b1251f1384 100644 --- a/discovery/beyondcorp-v1alpha.json +++ b/discovery/beyondcorp-v1alpha.json @@ -673,7 +673,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "beyondcorp.projects.locations.list", @@ -3332,7 +3332,7 @@ } } }, - "revision": "20260107", + "revision": "20260128", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/discovery/biglake-v1.json b/discovery/biglake-v1.json index ee55bcfac21..e8d675b6fd4 100644 --- a/discovery/biglake-v1.json +++ b/discovery/biglake-v1.json @@ -172,6 +172,35 @@ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Tests the IAM permissions for the specified catalog.", + "flatPath": "v1/projects/{projectsId}/catalogs/{catalogsId}:testIamPermissions", + "httpMethod": "POST", + "id": "biglake.projects.catalogs.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/catalogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -237,6 +266,131 @@ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Tests the IAM permissions for the specified namespace.", + "flatPath": "v1/projects/{projectsId}/catalogs/{catalogsId}/namespaces/{namespacesId}:testIamPermissions", + "httpMethod": "POST", + "id": "biglake.projects.catalogs.namespaces.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/catalogs/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "tables": { + "methods": { + "getIamPolicy": { + "description": "Gets the IAM policy for the specified Catalog.", + "flatPath": "v1/projects/{projectsId}/catalogs/{catalogsId}/namespaces/{namespacesId}/tables/{tablesId}:getIamPolicy", + "httpMethod": "GET", + "id": "biglake.projects.catalogs.namespaces.tables.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/catalogs/[^/]+/namespaces/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy for the specified catalog.", + "flatPath": "v1/projects/{projectsId}/catalogs/{catalogsId}/namespaces/{namespacesId}/tables/{tablesId}:setIamPolicy", + "httpMethod": "POST", + "id": "biglake.projects.catalogs.namespaces.tables.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/catalogs/[^/]+/namespaces/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests the IAM permissions for the specified table.", + "flatPath": "v1/projects/{projectsId}/catalogs/{catalogsId}/namespaces/{namespacesId}/tables/{tablesId}:testIamPermissions", + "httpMethod": "POST", + "id": "biglake.projects.catalogs.namespaces.tables.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/catalogs/[^/]+/namespaces/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } @@ -748,7 +902,7 @@ } } }, - "revision": "20251027", + "revision": "20260209", "rootUrl": "https://biglake.googleapis.com/", "schemas": { "AuditConfig": { @@ -1173,6 +1327,34 @@ } }, "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/bigquerydatatransfer-v1.json b/discovery/bigquerydatatransfer-v1.json index 3b84df69112..8532b634dcd 100644 --- a/discovery/bigquerydatatransfer-v1.json +++ b/discovery/bigquerydatatransfer-v1.json @@ -424,7 +424,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.list", @@ -1503,7 +1503,7 @@ } } }, - "revision": "20260112", + "revision": "20260201", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { diff --git a/discovery/bigtableadmin-v2.json b/discovery/bigtableadmin-v2.json index 742c8ce038a..3aa62745099 100644 --- a/discovery/bigtableadmin-v2.json +++ b/discovery/bigtableadmin-v2.json @@ -3061,7 +3061,7 @@ "locations": { "methods": { "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "bigtableadmin.projects.locations.list", @@ -3118,7 +3118,7 @@ } } }, - "revision": "20251209", + "revision": "20260210", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -4395,6 +4395,12 @@ "properties": {}, "type": "object" }, + "GoogleBigtableAdminV2TypeGeography": { + "description": "A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.", + "id": "GoogleBigtableAdminV2TypeGeography", + "properties": {}, + "type": "object" + }, "GoogleBigtableAdminV2TypeInt64": { "description": "Int64 Values of type `Int64` are stored in `Value.int_value`.", "id": "GoogleBigtableAdminV2TypeInt64", @@ -5719,6 +5725,10 @@ "$ref": "GoogleBigtableAdminV2TypeFloat64", "description": "Float64" }, + "geographyType": { + "$ref": "GoogleBigtableAdminV2TypeGeography", + "description": "Geography" + }, "int64Type": { "$ref": "GoogleBigtableAdminV2TypeInt64", "description": "Int64" diff --git a/discovery/ces-v1.json b/discovery/ces-v1.json new file mode 100644 index 00000000000..2c62aa0c452 --- /dev/null +++ b/discovery/ces-v1.json @@ -0,0 +1,6838 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ces": { + "description": "Create, update, delete, and manage your Next Gen Agents" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://ces.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Customer Engagement Suite", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.eu.rep.googleapis.com/", + "location": "eu" + } + ], + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "ces:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ces.mtls.googleapis.com/", + "name": "ces", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "ces.projects.locations.list", + "parameterOrder": [ + "name" + ], + "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.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "create": { + "description": "Creates a new app in the given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appId": { + "description": "Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to create an app in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeTool": { + "description": "Executes the given tool with the given arguments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:executeTool", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.executeTool", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:executeTool", + "request": { + "$ref": "ExecuteToolRequest" + }, + "response": { + "$ref": "ExecuteToolResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportApp": { + "description": "Exports the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:exportApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.exportApp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to export.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:exportApp", + "request": { + "$ref": "ExportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importApp": { + "description": "Imports the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps:importApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importApp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name with the location of the app to import.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps:importApp", + "request": { + "$ref": "ImportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists apps in the given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListApps call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to list apps from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveToolSchema": { + "description": "Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:retrieveToolSchema", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.retrieveToolSchema", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:retrieveToolSchema", + "request": { + "$ref": "RetrieveToolSchemaRequest" + }, + "response": { + "$ref": "RetrieveToolSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "agents": { + "methods": { + "create": { + "description": "Creates a new agent in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.agents.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "agentId": { + "description": "Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an agent in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agents", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.agents.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the agent to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the agent to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists agents in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListAgents call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list agents from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agents", + "response": { + "$ref": "ListAgentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.agents.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "changelogs": { + "methods": { + "get": { + "description": "Gets the specified changelog.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs/{changelogsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the changelog to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/changelogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Changelog" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the changelogs of the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action=\"Create\"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time > \"2025-01-01T00:00:00Z\"` * `create_time <= \"2025-01-01T00:00:00Z\" AND resource_type:tool`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListChangelogs call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list changelogs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/changelogs", + "response": { + "$ref": "ListChangelogsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "conversations": { + "methods": { + "batchDelete": { + "description": "Batch deletes the specified conversations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations:batchDelete", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to delete conversations from. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/conversations:batchDelete", + "request": { + "$ref": "BatchDeleteConversationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.conversations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all source will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists conversations in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListConversations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list conversations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + }, + "sources": { + "description": "Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/{+parent}/conversations", + "response": { + "$ref": "ListConversationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the deployment to delete. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists deployments in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "examples": { + "methods": { + "create": { + "description": "Creates a new example in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.examples.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "exampleId": { + "description": "Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an example in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/examples", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.examples.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the example to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the example to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists examples in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListExamples call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list examples from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/examples", + "response": { + "$ref": "ListExamplesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.examples.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "guardrails": { + "methods": { + "create": { + "description": "Creates a new guardrail in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.guardrails.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "guardrailId": { + "description": "Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create a guardrail in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/guardrails", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.guardrails.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the guardrail to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the guardrail to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists guardrails in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListGuardrails call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list guardrails from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/guardrails", + "response": { + "$ref": "ListGuardrailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.guardrails.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "generateChatToken": { + "description": "Generates a session scoped token for chat widget to authenticate with Session APIs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:generateChatToken", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.generateChatToken", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The session name to generate the chat token for. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateChatToken", + "request": { + "$ref": "GenerateChatTokenRequest" + }, + "response": { + "$ref": "GenerateChatTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runSession": { + "description": "Initiates a single turn interaction with the CES agent within a session.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:runSession", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.runSession", + "parameterOrder": [ + "session" + ], + "parameters": { + "session": { + "description": "Required. The unique identifier of the session. Format: `projects/{project}/locations/{location}/apps/{app}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+session}:runSession", + "request": { + "$ref": "RunSessionRequest" + }, + "response": { + "$ref": "RunSessionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tools": { + "methods": { + "create": { + "description": "Creates a new tool in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.tools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a tool in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolId": { + "description": "Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/tools", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.tools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the tool to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the tool to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tools in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the tools. Use \"include_system_tools=true\" to include system tools in the response. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListTools call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list tools from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tools", + "response": { + "$ref": "ListToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.tools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "toolsets": { + "methods": { + "create": { + "description": "Creates a new toolset in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a toolset in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolsetId": { + "description": "Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/toolsets", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.toolsets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the toolset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the toolset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists toolsets in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListToolsets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list toolsets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/toolsets", + "response": { + "$ref": "ListToolsetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.toolsets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveTools": { + "description": "Retrieve the list of tools included in the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}:retrieveTools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.retrieveTools", + "parameterOrder": [ + "toolset" + ], + "parameters": { + "toolset": { + "description": "Required. The name of the toolset to retrieve the tools for. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+toolset}:retrieveTools", + "request": { + "$ref": "RetrieveToolsRequest" + }, + "response": { + "$ref": "RetrieveToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "create": { + "description": "Creates a new app version in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appVersionId": { + "description": "Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an app version in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all app versions in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListAppVersions call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list app versions from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListAppVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to restore.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:restore", + "request": { + "$ref": "RestoreAppVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "ces.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "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": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20260213", + "rootUrl": "https://ces.googleapis.com/", + "schemas": { + "Action": { + "description": "Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details.", + "id": "Action", + "properties": { + "connectionActionId": { + "description": "ID of a Connection action for the tool to use.", + "type": "string" + }, + "entityOperation": { + "$ref": "ActionEntityOperation", + "description": "Entity operation configuration for the tool to use." + }, + "inputFields": { + "description": "Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFields": { + "description": "Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActionEntityOperation": { + "description": "Entity CRUD operation specification.", + "id": "ActionEntityOperation", + "properties": { + "entityId": { + "description": "Required. ID of the entity.", + "type": "string" + }, + "operation": { + "description": "Required. Operation to perform on the entity.", + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation type unspecified. Invalid, ConnectorTool create/update will fail.", + "List operation.", + "Get operation.", + "Create operation.", + "Update operation.", + "Delete operation." + ], + "type": "string" + } + }, + "type": "object" + }, + "Agent": { + "description": "An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.", + "id": "Agent", + "properties": { + "afterAgentCallbacks": { + "description": "Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterModelCallbacks": { + "description": "Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterToolCallbacks": { + "description": "Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeAgentCallbacks": { + "description": "Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeModelCallbacks": { + "description": "Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeToolCallbacks": { + "description": "Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "childAgents": { + "description": "Optional. List of child agents in the agent tree. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Timestamp when the agent was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the agent.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the agent.", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "generatedSummary": { + "description": "Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "instruction": { + "description": "Optional. Instructions for the LLM model to guide the agent's behavior.", + "type": "string" + }, + "llmAgent": { + "$ref": "AgentLlmAgent", + "description": "Optional. The default agent type." + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "remoteDialogflowAgent": { + "$ref": "AgentRemoteDialogflowAgent", + "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." + }, + "tools": { + "description": "Optional. List of available tools for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets for the agent.", + "items": { + "$ref": "AgentAgentToolset" + }, + "type": "array" + }, + "transferRules": { + "description": "Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used.", + "items": { + "$ref": "TransferRule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the agent was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentAgentToolset": { + "description": "A toolset with a selection of its tools.", + "id": "AgentAgentToolset", + "properties": { + "toolIds": { + "description": "Optional. The tools IDs to filter the toolset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolset": { + "description": "Required. The resource name of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "AgentLlmAgent": { + "description": "Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model.", + "id": "AgentLlmAgent", + "properties": {}, + "type": "object" + }, + "AgentRemoteDialogflowAgent": { + "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", + "id": "AgentRemoteDialogflowAgent", + "properties": { + "agent": { + "description": "Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "environmentId": { + "description": "Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used.", + "type": "string" + }, + "flowId": { + "description": "Optional. The flow ID of the flow in the Dialogflow agent.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends.", + "type": "object" + }, + "respectResponseInterruptionSettings": { + "description": "Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgentTransfer": { + "description": "Represents an event indicating the transfer of a conversation to a different agent.", + "id": "AgentTransfer", + "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" + }, + "AmbientSoundConfig": { + "description": "Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.", + "id": "AmbientSoundConfig", + "properties": { + "gcsUri": { + "description": "Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object.", + "type": "string" + }, + "prebuiltAmbientNoise": { + "deprecated": true, + "description": "Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`.", + "enum": [ + "PREBUILT_AMBIENT_NOISE_UNSPECIFIED", + "RETAIL_STORE", + "CONVENTION_HALL", + "OUTDOOR" + ], + "enumDescriptions": [ + "Not specified.", + "Ambient noise of a retail store.", + "Ambient noise of a convention hall.", + "Ambient noise of a street." + ], + "type": "string" + }, + "prebuiltAmbientSound": { + "description": "Optional. Name of the prebuilt ambient sound. Valid values are: - \"coffee_shop\" - \"keyboard\" - \"keypad\" - \"hum\" - \"office_1\" - \"office_2\" - \"office_3\" - \"room_1\" - \"room_2\" - \"room_3\" - \"room_4\" - \"room_5\" - \"air_conditioner\"", + "type": "string" + }, + "volumeGainDb": { + "description": "Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ApiAuthentication": { + "description": "Authentication information required for API calls.", + "id": "ApiAuthentication", + "properties": { + "apiKeyConfig": { + "$ref": "ApiKeyConfig", + "description": "Optional. Config for API key auth." + }, + "bearerTokenConfig": { + "$ref": "BearerTokenConfig", + "description": "Optional. Config for bearer token auth." + }, + "oauthConfig": { + "$ref": "OAuthConfig", + "description": "Optional. Config for OAuth." + }, + "serviceAccountAuthConfig": { + "$ref": "ServiceAccountAuthConfig", + "description": "Optional. Config for service account authentication." + }, + "serviceAgentIdTokenAuthConfig": { + "$ref": "ServiceAgentIdTokenAuthConfig", + "description": "Optional. Config for ID token auth generated from CES service agent." + } + }, + "type": "object" + }, + "ApiKeyConfig": { + "description": "Configurations for authentication with API key.", + "id": "ApiKeyConfig", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "keyName": { + "description": "Required. The parameter name or the header name of the API key. E.g., If the API request is \"https://example.com/act?X-Api-Key=\", \"X-Api-Key\" would be the parameter name.", + "type": "string" + }, + "requestLocation": { + "description": "Required. Key location in the request.", + "enum": [ + "REQUEST_LOCATION_UNSPECIFIED", + "HEADER", + "QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified. This value should not be unused.", + "Represents the key in http header.", + "Represents the key in query string." + ], + "type": "string" + } + }, + "type": "object" + }, + "App": { + "description": "An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context.", + "id": "App", + "properties": { + "audioProcessingConfig": { + "$ref": "AudioProcessingConfig", + "description": "Optional. Audio processing configuration of the app." + }, + "clientCertificateSettings": { + "$ref": "ClientCertificateSettings", + "description": "Optional. The default client certificate settings for the app." + }, + "createTime": { + "description": "Output only. Timestamp when the app was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreSettings": { + "$ref": "DataStoreSettings", + "description": "Optional. The data store settings for the app." + }, + "defaultChannelProfile": { + "$ref": "ChannelProfile", + "description": "Optional. The default channel profile used by the app." + }, + "deploymentCount": { + "description": "Output only. Number of deployments in the app.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "description": { + "description": "Optional. Human-readable description of the app.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Optional. The evaluation thresholds for the app." + }, + "globalInstruction": { + "description": "Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.", + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the app. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "languageSettings": { + "$ref": "LanguageSettings", + "description": "Optional. Language settings of the app." + }, + "locked": { + "description": "Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected.", + "type": "boolean" + }, + "loggingSettings": { + "$ref": "LoggingSettings", + "description": "Optional. Logging settings of the app." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.", + "type": "object" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed." + }, + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "pinned": { + "description": "Optional. Whether the app is pinned in the app list.", + "type": "boolean" + }, + "predefinedVariableDeclarations": { + "description": "Output only. The declarations of predefined variables for the app.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "readOnly": true, + "type": "array" + }, + "rootAgent": { + "description": "Optional. The root agent is the entry point of the app. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "timeZoneSettings": { + "$ref": "TimeZoneSettings", + "description": "Optional. TimeZone settings of the app." + }, + "toolExecutionMode": { + "description": "Optional. The tool execution mode for the app. If not provided, will default to PARALLEL.", + "enum": [ + "TOOL_EXECUTION_MODE_UNSPECIFIED", + "PARALLEL", + "SEQUENTIAL" + ], + "enumDescriptions": [ + "Unspecified tool execution mode. Default to PARALLEL.", + "If there are multiple tools being selected, they will be executed in parallel, with the same [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context).", + "If there are multiple tools being selected, they will be executed sequentially. The next tool will only be executed after the previous tool completes and it can see updated [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context) from the previous tool." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the app was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "variableDeclarations": { + "description": "Optional. The declarations of the variables.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppSnapshot": { + "description": "A snapshot of the app.", + "id": "AppSnapshot", + "properties": { + "agents": { + "description": "Optional. List of agents in the app.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "app": { + "$ref": "App", + "description": "Optional. The basic settings for the app." + }, + "examples": { + "description": "Optional. List of examples in the app.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "guardrails": { + "description": "Optional. List of guardrails in the app.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "tools": { + "description": "Optional. List of tools in the app.", + "items": { + "$ref": "Tool" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets in the app.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppVariableDeclaration": { + "description": "Defines the structure and metadata for a variable.", + "id": "AppVariableDeclaration", + "properties": { + "description": { + "description": "Required. The description of the variable.", + "type": "string" + }, + "name": { + "description": "Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.", + "type": "string" + }, + "schema": { + "$ref": "Schema", + "description": "Required. The schema of the variable." + } + }, + "type": "object" + }, + "AppVersion": { + "description": "In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created.", + "id": "AppVersion", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the app version was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email of the user who created the app version.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the app version.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app version.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "snapshot": { + "$ref": "AppSnapshot", + "description": "Output only. The snapshot of the app when the version is created.", + "readOnly": true + } + }, + "type": "object" + }, + "AudioProcessingConfig": { + "description": "Configuration for how the input and output audio should be processed and delivered.", + "id": "AudioProcessingConfig", + "properties": { + "ambientSoundConfig": { + "$ref": "AmbientSoundConfig", + "description": "Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation." + }, + "bargeInConfig": { + "$ref": "BargeInConfig", + "description": "Optional. Configures the agent behavior for the user barge-in activities." + }, + "inactivityTimeout": { + "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", + "format": "google-duration", + "type": "string" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains \"en-us\" and \"en\", and the specified language code is \"en-gb\", then \"en\" configuration will be used. Note: Language code is case-insensitive.", + "type": "object" + } + }, + "type": "object" + }, + "AudioRecordingConfig": { + "description": "Configuration for how the audio interactions should be recorded.", + "id": "AudioRecordingConfig", + "properties": { + "gcsBucket": { + "description": "Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with \"gs://\". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "gcsPathPrefix": { + "description": "Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used.", + "type": "string" + } + }, + "type": "object" + }, + "BargeInConfig": { + "description": "Configuration for how the user barge-in activities should be handled.", + "id": "BargeInConfig", + "properties": { + "bargeInAwareness": { + "description": "Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.", + "type": "boolean" + }, + "disableBargeIn": { + "deprecated": true, + "description": "Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile.", + "type": "boolean" + } + }, + "type": "object" + }, + "BatchDeleteConversationsRequest": { + "description": "Request message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsRequest", + "properties": { + "conversations": { + "description": "Required. The resource names of the conversations to delete.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BearerTokenConfig": { + "description": "Configurations for authentication with a bearer token.", + "id": "BearerTokenConfig", + "properties": { + "token": { + "description": "Required. The bearer token. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "BigQueryExportSettings": { + "description": "Settings to describe the BigQuery export behaviors for the app.", + "id": "BigQueryExportSettings", + "properties": { + "dataset": { + "description": "Optional. The BigQuery dataset to export the data to.", + "type": "string" + }, + "enabled": { + "description": "Optional. Indicates whether the BigQuery export is enabled.", + "type": "boolean" + }, + "project": { + "description": "Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "Blob": { + "description": "Represents a blob input or output in the conversation.", + "id": "Blob", + "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" + }, + "Callback": { + "description": "A callback defines the custom logic to be executed at various stages of agent interaction.", + "id": "Callback", + "properties": { + "description": { + "description": "Optional. Human-readable description of the callback.", + "type": "string" + }, + "disabled": { + "description": "Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent.", + "type": "boolean" + }, + "proactiveExecutionEnabled": { + "description": "Optional. If enabled, the callback will also be executed on intermediate model outputs. This setting only affects after model callback. **ENABLE WITH CAUTION**. Typically after model callback only needs to be executed after receiving all model responses. Enabling proactive execution may have negative implication on the execution cost and latency, and should only be enabled in rare situations.", + "type": "boolean" + }, + "pythonCode": { + "description": "Required. The python code to execute for the callback.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Changelog": { + "description": "Changelogs represent a change made to the app or to an resource within the app.", + "id": "Changelog", + "properties": { + "action": { + "description": "Output only. The action that was performed on the resource.", + "readOnly": true, + "type": "string" + }, + "author": { + "description": "Output only. Email address of the change author.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the change was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dependentResources": { + "description": "Output only. The dependent resources that were changed.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "description": { + "description": "Output only. Description of the change. which typically captures the changed fields in the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the change. It typically should be the display name of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the changelog. Format: `projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}`", + "type": "string" + }, + "newResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The new resource after the change.", + "readOnly": true, + "type": "object" + }, + "originalResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The original resource before the change.", + "readOnly": true, + "type": "object" + }, + "resource": { + "description": "Output only. The resource that was changed.", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. The type of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "sequenceNumber": { + "description": "Output only. The monotonically increasing sequence number of the changelog.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfile": { + "description": "A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.", + "id": "ChannelProfile", + "properties": { + "channelType": { + "description": "Optional. The type of the channel profile.", + "enum": [ + "UNKNOWN", + "WEB_UI", + "API", + "TWILIO", + "GOOGLE_TELEPHONY_PLATFORM", + "CONTACT_CENTER_AS_A_SERVICE", + "FIVE9" + ], + "enumDescriptions": [ + "Unknown channel type.", + "Web UI channel.", + "API channel.", + "Twilio channel.", + "Google Telephony Platform channel.", + "Contact Center as a Service (CCaaS) channel.", + "Five9 channel." + ], + "type": "string" + }, + "disableBargeInControl": { + "description": "Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.", + "type": "boolean" + }, + "disableDtmf": { + "description": "Optional. Whether to disable DTMF (dual-tone multi-frequency).", + "type": "boolean" + }, + "noiseSuppressionLevel": { + "description": "Optional. The noise suppression level of the channel profile. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "personaProperty": { + "$ref": "ChannelProfilePersonaProperty", + "description": "Optional. The persona property of the channel profile." + }, + "profileId": { + "description": "Optional. The unique identifier of the channel profile.", + "type": "string" + }, + "webWidgetConfig": { + "$ref": "ChannelProfileWebWidgetConfig", + "description": "Optional. The configuration for the web widget." + } + }, + "type": "object" + }, + "ChannelProfilePersonaProperty": { + "description": "Represents the persona property of a channel.", + "id": "ChannelProfilePersonaProperty", + "properties": { + "persona": { + "description": "Optional. The persona of the channel.", + "enum": [ + "UNKNOWN", + "CONCISE", + "CHATTY" + ], + "enumDescriptions": [ + "UNKNOWN persona.", + "The agent keeps the responses concise and to the point", + "The agent provides additional context, explanations, and details" + ], + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfig": { + "description": "Message for configuration for the web widget.", + "id": "ChannelProfileWebWidgetConfig", + "properties": { + "modality": { + "description": "Optional. The modality of the web widget.", + "enum": [ + "MODALITY_UNSPECIFIED", + "CHAT_AND_VOICE", + "VOICE_ONLY", + "CHAT_ONLY" + ], + "enumDescriptions": [ + "Unknown modality.", + "Widget supports both chat and voice input.", + "Widget supports only voice input.", + "Widget supports only chat input." + ], + "type": "string" + }, + "securitySettings": { + "$ref": "ChannelProfileWebWidgetConfigSecuritySettings", + "description": "Optional. The security settings of the web widget." + }, + "theme": { + "description": "Optional. The theme of the web widget.", + "enum": [ + "THEME_UNSPECIFIED", + "LIGHT", + "DARK" + ], + "enumDescriptions": [ + "Unknown theme.", + "Light theme.", + "Dark theme." + ], + "type": "string" + }, + "webWidgetTitle": { + "description": "Optional. The title of the web widget.", + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfigSecuritySettings": { + "description": "Security settings for the web widget.", + "id": "ChannelProfileWebWidgetConfigSecuritySettings", + "properties": { + "allowedOrigins": { + "description": "Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: \"https://example.com\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableOriginCheck": { + "description": "Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.", + "type": "boolean" + }, + "enablePublicAccess": { + "description": "Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.", + "type": "boolean" + }, + "enableRecaptcha": { + "description": "Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "Chunk": { + "description": "A chunk of content within a message.", + "id": "Chunk", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Agent transfer event." + }, + "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": "Image", + "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": "ToolCall", + "description": "Optional. Tool execution request." + }, + "toolResponse": { + "$ref": "ToolResponse", + "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" + }, + "Citations": { + "description": "Citations associated with the agent response.", + "id": "Citations", + "properties": { + "citedChunks": { + "description": "List of cited pieces of information.", + "items": { + "$ref": "CitationsCitedChunk" + }, + "type": "array" + } + }, + "type": "object" + }, + "CitationsCitedChunk": { + "description": "Piece of cited information.", + "id": "CitationsCitedChunk", + "properties": { + "text": { + "description": "Text used for citaiton.", + "type": "string" + }, + "title": { + "description": "Title of the cited document.", + "type": "string" + }, + "uri": { + "description": "URI used for citation.", + "type": "string" + } + }, + "type": "object" + }, + "ClientCertificateSettings": { + "description": "Settings for custom client certificates.", + "id": "ClientCertificateSettings", + "properties": { + "passphrase": { + "description": "Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "privateKey": { + "description": "Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "tlsCertificate": { + "description": "Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.", + "type": "string" + } + }, + "type": "object" + }, + "ClientFunction": { + "description": "Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent.", + "id": "ClientFunction", + "properties": { + "description": { + "description": "Optional. The function description.", + "type": "string" + }, + "name": { + "description": "Required. The function name.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The schema of the function parameters." + }, + "response": { + "$ref": "Schema", + "description": "Optional. The schema of the function response." + } + }, + "type": "object" + }, + "CloudLoggingSettings": { + "description": "Settings to describe the Cloud Logging behaviors for the app.", + "id": "CloudLoggingSettings", + "properties": { + "enableCloudLogging": { + "description": "Optional. Whether to enable Cloud Logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "CodeBlock": { + "description": "A code block to be executed instead of a real tool call.", + "id": "CodeBlock", + "properties": { + "pythonCode": { + "description": "Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorTool": { + "description": "A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview.", + "id": "ConnectorTool", + "properties": { + "action": { + "$ref": "Action", + "description": "Required. Action for the tool to use." + }, + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details." + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "description": { + "description": "Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + }, + "name": { + "description": "Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorToolset": { + "description": "A toolset that generates tools from an Integration Connectors Connection.", + "id": "ConnectorToolset", + "properties": { + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override" + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "connectorActions": { + "description": "Required. The list of connector actions/entity operations to generate tools for.", + "items": { + "$ref": "Action" + }, + "type": "array" + } + }, + "type": "object" + }, + "Conversation": { + "description": "A conversation represents an interaction between an end user and the CES app.", + "id": "Conversation", + "properties": { + "appVersion": { + "description": "Output only. The version of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "channelType": { + "deprecated": true, + "description": "DEPRECATED. Please use input_types instead.", + "enum": [ + "CHANNEL_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO", + "MULTIMODAL" + ], + "enumDescriptions": [ + "Unspecified channel type.", + "The conversation only contains text messages between the end user and the agent.", + "The conversation contains audio messages between the end user and the agent.", + "The conversation multi-modal messages (e.g. image) between the end user and the agent." + ], + "type": "string" + }, + "deployment": { + "description": "Output only. The deployment of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Timestamp when the conversation was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryAgent": { + "description": "Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "readOnly": true, + "type": "string" + }, + "inputTypes": { + "description": "Output only. The input types of the conversation.", + "items": { + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "INPUT_TYPE_TEXT", + "INPUT_TYPE_AUDIO", + "INPUT_TYPE_IMAGE", + "INPUT_TYPE_BLOB", + "INPUT_TYPE_TOOL_RESPONSE", + "INPUT_TYPE_VARIABLES" + ], + "enumDescriptions": [ + "Unspecified input type.", + "The input message is text.", + "The input message is audio.", + "The input message is image.", + "The input message is blob file.", + "The input message is client function tool response.", + "The input message are variables." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "languageCode": { + "description": "Output only. The language code of the conversation.", + "readOnly": true, + "type": "string" + }, + "messages": { + "deprecated": true, + "description": "Deprecated. Use turns instead.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "type": "string" + }, + "source": { + "description": "Output only. Indicate the source of the conversation.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Timestamp when the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turns": { + "description": "Required. The turns in the conversation.", + "items": { + "$ref": "ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversationLoggingSettings": { + "description": "Settings to describe the conversation logging behaviors for the app.", + "id": "ConversationLoggingSettings", + "properties": { + "disableConversationLogging": { + "description": "Optional. Whether to disable conversation logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConversationTurn": { + "description": "All information about a single turn in the conversation.", + "id": "ConversationTurn", + "properties": { + "messages": { + "description": "Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the action processing." + } + }, + "type": "object" + }, + "DataStore": { + "description": "A DataStore resource in Vertex AI Search.", + "id": "DataStore", + "properties": { + "connectorConfig": { + "$ref": "DataStoreConnectorConfig", + "description": "Output only. The connector config for the data store connection.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the data store was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the data store.", + "readOnly": true, + "type": "string" + }, + "documentProcessingMode": { + "description": "Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Full resource name of the DataStore. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "type": { + "description": "Output only. The type of the data store. This field is readonly and populated by the server.", + "enum": [ + "DATA_STORE_TYPE_UNSPECIFIED", + "PUBLIC_WEB", + "UNSTRUCTURED", + "FAQ", + "CONNECTOR" + ], + "enumDescriptions": [ + "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", + "A data store that contains public web content.", + "A data store that contains unstructured private data.", + "A data store that contains structured data used as FAQ.", + "A data store that is a connector to a first-party or a third-party service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreConnectorConfig": { + "description": "The connector config for the data store connection.", + "id": "DataStoreConnectorConfig", + "properties": { + "collection": { + "description": "Resource name of the collection the data store belongs to.", + "type": "string" + }, + "collectionDisplayName": { + "description": "Display name of the collection the data store belongs to.", + "type": "string" + }, + "dataSource": { + "description": "The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreSettings": { + "description": "Data store related settings for the app.", + "id": "DataStoreSettings", + "properties": { + "engines": { + "description": "Output only. The engines for the app.", + "items": { + "$ref": "DataStoreSettingsEngine" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreSettingsEngine": { + "description": "An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreSettingsEngine", + "properties": { + "name": { + "description": "Output only. The resource name of the engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the engine.", + "enum": [ + "TYPE_UNSPECIFIED", + "ENGINE_TYPE_SEARCH", + "ENGINE_TYPE_CHAT" + ], + "enumDescriptions": [ + "Unspecified engine type.", + "The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores added to the app will be added to this engine.", + "Chat engine type. The SOLUTION_TYPE_CHAT engine for the app. All connector data stores added to the app will be added to this engine." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreTool": { + "description": "Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreTool", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specification to boost certain documents.", + "items": { + "$ref": "DataStoreToolBoostSpecs" + }, + "type": "array" + }, + "dataStoreSource": { + "$ref": "DataStoreToolDataStoreSource", + "description": "Optional. Search within a single specific DataStore." + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "engineSource": { + "$ref": "DataStoreToolEngineSource", + "description": "Optional. Search within an Engine (potentially across multiple DataStores)." + }, + "filterParameterBehavior": { + "description": "Optional. The filter parameter behavior.", + "enum": [ + "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED", + "ALWAYS_INCLUDE", + "NEVER_INCLUDE" + ], + "enumDescriptions": [ + "Default filter behavior. Include filter parameter for connector datastores. For the rest of the datastore types, the filter input parameter is omitted.", + "Always include filter parameter for all datastore types.", + "The filter parameter is never included in the list of tool parameters, regardless of the datastore type." + ], + "type": "string" + }, + "modalityConfigs": { + "description": "Optional. The modality configs for the data store.", + "items": { + "$ref": "DataStoreToolModalityConfig" + }, + "type": "array" + }, + "name": { + "description": "Required. The data store tool name.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpec": { + "description": "Boost specification to boost certain documents.", + "id": "DataStoreToolBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpec": { + "description": "Boost specification for a condition.", + "id": "DataStoreToolBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY(\"en\", \"fr\"))", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecs": { + "description": "Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting.", + "id": "DataStoreToolBoostSpecs", + "properties": { + "dataStores": { + "description": "Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolDataStoreSource": { + "description": "Configuration for searching within a specific DataStore.", + "id": "DataStoreToolDataStoreSource", + "properties": { + "dataStore": { + "$ref": "DataStore", + "description": "Optional. The data store." + }, + "filter": { + "description": "Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolEngineSource": { + "description": "Configuration for searching within an Engine, potentially targeting specific DataStores.", + "id": "DataStoreToolEngineSource", + "properties": { + "dataStoreSources": { + "description": "Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine.", + "items": { + "$ref": "DataStoreToolDataStoreSource" + }, + "type": "array" + }, + "engine": { + "description": "Required. Full resource name of the Engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "type": "string" + }, + "filter": { + "description": "Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolGroundingConfig": { + "description": "Grounding configuration.", + "id": "DataStoreToolGroundingConfig", + "properties": { + "disabled": { + "description": "Optional. Whether grounding is disabled.", + "type": "boolean" + }, + "groundingLevel": { + "description": "Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolModalityConfig": { + "description": "If specified, will apply the given configuration for the specified modality.", + "id": "DataStoreToolModalityConfig", + "properties": { + "groundingConfig": { + "$ref": "DataStoreToolGroundingConfig", + "description": "Optional. The grounding configuration." + }, + "modalityType": { + "description": "Required. The modality type.", + "enum": [ + "MODALITY_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality type.", + "Text modality.", + "Audio modality." + ], + "type": "string" + }, + "rewriterConfig": { + "$ref": "DataStoreToolRewriterConfig", + "description": "Optional. The rewriter config." + }, + "summarizationConfig": { + "$ref": "DataStoreToolSummarizationConfig", + "description": "Optional. The summarization config." + } + }, + "type": "object" + }, + "DataStoreToolRewriterConfig": { + "description": "Rewriter configuration.", + "id": "DataStoreToolRewriterConfig", + "properties": { + "disabled": { + "description": "Optional. Whether the rewriter is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Required. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolSummarizationConfig": { + "description": "Summarization configuration.", + "id": "DataStoreToolSummarizationConfig", + "properties": { + "disabled": { + "description": "Optional. Whether summarization is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "Deployment": { + "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", + "id": "Deployment", + "properties": { + "appVersion": { + "description": "Required. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}", + "type": "string" + }, + "channelProfile": { + "$ref": "ChannelProfile", + "description": "Required. The channel profile used in the deployment." + }, + "createTime": { + "description": "Output only. Timestamp when this deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the deployment.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this deployment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EndSession": { + "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": "EndSession", + "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" + }, + "EndUserAuthConfig": { + "description": "End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`.", + "id": "EndUserAuthConfig", + "properties": { + "oauth2AuthCodeConfig": { + "$ref": "EndUserAuthConfigOauth2AuthCodeConfig", + "description": "Oauth 2.0 Authorization Code authentication." + }, + "oauth2JwtBearerConfig": { + "$ref": "EndUserAuthConfigOauth2JwtBearerConfig", + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication." + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2AuthCodeConfig": { + "description": "Oauth 2.0 Authorization Code authentication configuration.", + "id": "EndUserAuthConfigOauth2AuthCodeConfig", + "properties": { + "oauthToken": { + "description": "Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2JwtBearerConfig": { + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication configuration.", + "id": "EndUserAuthConfigOauth2JwtBearerConfig", + "properties": { + "clientKey": { + "description": "Required. Client parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "issuer": { + "description": "Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "subject": { + "description": "Required. Subject parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholds": { + "description": "Threshold settings for metrics in an Evaluation.", + "id": "EvaluationMetricsThresholds", + "properties": { + "goldenEvaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "description": "Optional. The golden evaluation metrics thresholds." + }, + "goldenHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "hallucinationMetricBehavior": { + "deprecated": true, + "description": "Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "scenarioHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for scenario evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds": { + "description": "Settings for golden evaluations.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "properties": { + "expectationLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "description": "Optional. The expectation level metrics thresholds." + }, + "turnLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "description": "Optional. The turn level metrics thresholds." + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds": { + "description": "Expectation level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "properties": { + "toolInvocationParameterCorrectnessThreshold": { + "description": "Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds": { + "description": "Turn level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "properties": { + "overallToolInvocationCorrectnessThreshold": { + "description": "Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + }, + "semanticSimilarityChannel": { + "description": "Optional. The semantic similarity channel to use for evaluation.", + "enum": [ + "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Metric unspecified. Defaults to TEXT.", + "Use text semantic similarity.", + "Use audio semantic similarity." + ], + "type": "string" + }, + "semanticSimilaritySuccessThreshold": { + "description": "Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Event": { + "description": "Event input.", + "id": "Event", + "properties": { + "event": { + "description": "Required. The name of the event.", + "type": "string" + } + }, + "type": "object" + }, + "Example": { + "description": "An example represents a sample conversation between the user and the agent(s).", + "id": "Example", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the example was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the example.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the example.", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "invalid": { + "description": "Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.", + "readOnly": true, + "type": "boolean" + }, + "messages": { + "description": "Optional. The collection of messages that make up the conversation.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the example was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExecuteToolRequest": { + "description": "Request message for ToolService.ExecuteTool.", + "id": "ExecuteToolRequest", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "ExecuteToolResponse": { + "description": "Response message for ToolService.ExecuteTool.", + "id": "ExecuteToolResponse", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that got executed." + } + }, + "type": "object" + }, + "ExportAppRequest": { + "description": "Request message for AgentService.ExportApp.", + "id": "ExportAppRequest", + "properties": { + "exportFormat": { + "description": "Required. The format to export the app in.", + "enum": [ + "EXPORT_FORMAT_UNSPECIFIED", + "JSON", + "YAML" + ], + "enumDescriptions": [ + "The export format is unspecified.", + "The export format is JSON.", + "The export format is YAML." + ], + "type": "string" + }, + "gcsUri": { + "description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object.", + "type": "string" + } + }, + "type": "object" + }, + "ExportAppResponse": { + "description": "Response message for AgentService.ExportApp.", + "id": "ExportAppResponse", + "properties": { + "appContent": { + "description": "App folder compressed as a zip file.", + "format": "byte", + "type": "string" + }, + "appUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported.", + "type": "string" + } + }, + "type": "object" + }, + "ExpressionCondition": { + "description": "Expression condition based on session state.", + "id": "ExpressionCondition", + "properties": { + "expression": { + "description": "Required. The string representation of cloud.api.Expression condition.", + "type": "string" + } + }, + "type": "object" + }, + "FileSearchTool": { + "description": "The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results.", + "id": "FileSearchTool", + "properties": { + "corpusType": { + "description": "Optional. The type of the corpus. Default is FULLY_MANAGED.", + "enum": [ + "CORPUS_TYPE_UNSPECIFIED", + "USER_OWNED", + "FULLY_MANAGED" + ], + "enumDescriptions": [ + "Unspecified corpus type.", + "The corpus is created and owned by the user.", + "The corpus is created by the agent." + ], + "type": "string" + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "fileCorpus": { + "description": "Optional. The corpus where files are stored. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}", + "type": "string" + }, + "name": { + "description": "Required. The tool name.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenRequest": { + "description": "Request message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenRequest", + "properties": { + "deployment": { + "description": "Required. The deployment of the app to use for the session. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "recaptchaToken": { + "description": "Optional. The reCAPTCHA token generated by the client-side chat widget.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenResponse": { + "description": "Response message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenResponse", + "properties": { + "chatToken": { + "description": "The session scoped token for chat widget to authenticate with Session APIs.", + "type": "string" + }, + "expireTime": { + "description": "The time at which the chat token expires.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchSuggestions": { + "description": "Search suggestions from Google Search Tool.", + "id": "GoogleSearchSuggestions", + "properties": { + "htmls": { + "description": "Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "List of queries used to perform the google search along with the search result URIs forming the search suggestions.", + "items": { + "$ref": "WebSearchQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchTool": { + "description": "Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.", + "id": "GoogleSearchTool", + "properties": { + "contextUrls": { + "description": "Optional. Content will be fetched directly from these URLs for context and grounding. Example: \"https://example.com/path.html\". A maximum of 20 URLs are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Optional. Description of the tool's purpose.", + "type": "string" + }, + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. Example: \"example.com\". A maximum of 2000 domains can be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of the tool.", + "type": "string" + }, + "preferredDomains": { + "description": "Optional. Specifies domains to restrict search results to. Example: \"example.com\", \"another.site\". A maximum of 20 domains can be specified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promptConfig": { + "$ref": "GoogleSearchToolPromptConfig", + "description": "Optional. Prompt instructions passed to planner on how the search results should be processed for text and voice." + } + }, + "type": "object" + }, + "GoogleSearchToolPromptConfig": { + "description": "Prompt settings used by the model when processing or summarizing the google search results.", + "id": "GoogleSearchToolPromptConfig", + "properties": { + "textPrompt": { + "description": "Optional. Defines the prompt used for the system instructions when interacting with the agent in chat conversations. If not set, default prompt will be used.", + "type": "string" + }, + "voicePrompt": { + "description": "Optional. Defines the prompt used for the system instructions when interacting with the agent in voice conversations. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "Guardrail": { + "description": "Guardrail contains a list of checks and balances to keep the agents safe and secure.", + "id": "Guardrail", + "properties": { + "action": { + "$ref": "TriggerAction", + "description": "Optional. Action to take when the guardrail is triggered." + }, + "codeCallback": { + "$ref": "GuardrailCodeCallback", + "description": "Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution." + }, + "contentFilter": { + "$ref": "GuardrailContentFilter", + "description": "Optional. Guardrail that bans certain content from being used in the conversation." + }, + "createTime": { + "description": "Output only. Timestamp when the guardrail was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the guardrail.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the guardrail.", + "type": "string" + }, + "enabled": { + "description": "Optional. Whether the guardrail is enabled.", + "type": "boolean" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "llmPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification." + }, + "llmPromptSecurity": { + "$ref": "GuardrailLlmPromptSecurity", + "description": "Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification." + }, + "modelSafety": { + "$ref": "GuardrailModelSafety", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings." + }, + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the guardrail was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailCodeCallback": { + "description": "Guardrail that blocks the conversation based on the code callbacks provided.", + "id": "GuardrailCodeCallback", + "properties": { + "afterAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "afterModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + } + }, + "type": "object" + }, + "GuardrailContentFilter": { + "description": "Guardrail that bans certain content from being used in the conversation.", + "id": "GuardrailContentFilter", + "properties": { + "bannedContents": { + "description": "Optional. List of banned phrases. Applies to both user inputs and agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInAgentResponse": { + "description": "Optional. List of banned phrases. Applies only to agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInUserInput": { + "description": "Optional. List of banned phrases. Applies only to user inputs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disregardDiacritics": { + "description": "Optional. If true, diacritics are ignored during matching.", + "type": "boolean" + }, + "matchType": { + "description": "Required. Match type for the content filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH", + "REGEXP_MATCH" + ], + "enumDescriptions": [ + "Match type is not specified.", + "Content is matched for substrings character by character.", + "Content only matches if the pattern found in the text is surrounded by word delimiters. Banned phrases can also contain word delimiters.", + "Content is matched using regular expression syntax." + ], + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPolicy": { + "description": "Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.", + "id": "GuardrailLlmPolicy", + "properties": { + "allowShortUtterance": { + "description": "Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped.", + "type": "boolean" + }, + "failOpen": { + "description": "Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail.", + "type": "boolean" + }, + "maxConversationMessages": { + "description": "Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used.", + "format": "int32", + "type": "integer" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Model settings." + }, + "policyScope": { + "description": "Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond.", + "enum": [ + "POLICY_SCOPE_UNSPECIFIED", + "USER_QUERY", + "AGENT_RESPONSE", + "USER_QUERY_AND_AGENT_RESPONSE" + ], + "enumDescriptions": [ + "Policy scope is not specified.", + "Policy check is triggered on user input.", + "Policy check is triggered on agent response. Applying this policy scope will introduce additional latency before the agent can respond.", + "Policy check is triggered on both user input and agent response. Applying this policy scope will introduce additional latency before the agent can respond." + ], + "type": "string" + }, + "prompt": { + "description": "Required. Policy prompt.", + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurity": { + "description": "Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification.", + "id": "GuardrailLlmPromptSecurity", + "properties": { + "customPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Use a user-defined LlmPolicy to configure the security guardrail." + }, + "defaultSettings": { + "$ref": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "description": "Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response." + }, + "failOpen": { + "description": "Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurityDefaultSecuritySettings": { + "description": "Configuration for default system security settings.", + "id": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "properties": { + "defaultPromptTemplate": { + "description": "Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailModelSafety": { + "description": "Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe.", + "id": "GuardrailModelSafety", + "properties": { + "safetySettings": { + "description": "Required. List of safety settings.", + "items": { + "$ref": "GuardrailModelSafetySafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GuardrailModelSafetySafetySetting": { + "description": "Safety setting.", + "id": "GuardrailModelSafetySafetySetting", + "properties": { + "category": { + "description": "Required. The harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "description": "Represents an image input or output in the conversation.", + "id": "Image", + "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" + }, + "ImportAppRequest": { + "description": "Request message for AgentService.ImportApp.", + "id": "ImportAppRequest", + "properties": { + "appContent": { + "description": "Raw bytes representing the compressed zip file with the app folder structure.", + "format": "byte", + "type": "string" + }, + "appId": { + "description": "Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error.", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`.", + "type": "string" + }, + "ignoreAppLock": { + "description": "Optional. Flag for overriding the app lock during import. If set to true, the import process will ignore the app lock.", + "type": "boolean" + }, + "importOptions": { + "$ref": "ImportAppRequestImportOptions", + "description": "Optional. Options governing the import process for the app." + } + }, + "type": "object" + }, + "ImportAppRequestImportOptions": { + "description": "Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data.", + "id": "ImportAppRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "REPLACE", + "OVERWRITE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Replace existing data with imported data. If an app with the same `app_id` already exists, its content will be updated based on the imported app. - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the imported app that have the same display name as existing resources will overwrite the existing ones. - Imported resources with new display names will be created. - Existing resources that do not have a matching display name in the imported app will remain untouched.", + "Overwrite existing data with imported data. If an app with the same `app_id` already exists, its content will be overwritten with the imported app. - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in the app will be deleted. - Imported resources will be created as new resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportAppResponse": { + "description": "Response message for AgentService.ImportApp.", + "id": "ImportAppResponse", + "properties": { + "name": { + "description": "The resource name of the app that was imported.", + "type": "string" + }, + "warnings": { + "description": "Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InputAudioConfig": { + "description": "InputAudioConfig configures how the CES agent should interpret the incoming audio data.", + "id": "InputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the input audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "noiseSuppressionLevel": { + "description": "Optional. Whether to enable noise suppression on the input audio. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the input audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LanguageSettings": { + "description": "Language settings of the app.", + "id": "LanguageSettings", + "properties": { + "defaultLanguageCode": { + "description": "Optional. The default language code of the app.", + "type": "string" + }, + "enableMultilingualSupport": { + "description": "Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.", + "type": "boolean" + }, + "fallbackAction": { + "description": "Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as \"escalate\" or \"exit\", which triggers an EndSession signal with corresponding metadata to terminate the conversation.", + "type": "string" + }, + "supportedLanguageCodes": { + "description": "Optional. List of languages codes supported by the app, in addition to the `default_language_code`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAgentsResponse": { + "description": "Response message for AgentService.ListAgents.", + "id": "ListAgentsResponse", + "properties": { + "agents": { + "description": "The list of agents.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppVersionsResponse": { + "description": "Response message for AgentService.ListAppVersions.", + "id": "ListAppVersionsResponse", + "properties": { + "appVersions": { + "description": "The list of app versions.", + "items": { + "$ref": "AppVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppsResponse": { + "description": "Response message for AgentService.ListApps.", + "id": "ListAppsResponse", + "properties": { + "apps": { + "description": "The list of apps.", + "items": { + "$ref": "App" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListChangelogsResponse": { + "description": "Response message for AgentService.ListChangelogs.", + "id": "ListChangelogsResponse", + "properties": { + "changelogs": { + "description": "The list of changelogs.", + "items": { + "$ref": "Changelog" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListConversationsResponse": { + "description": "Response message for AgentService.ListConversations.", + "id": "ListConversationsResponse", + "properties": { + "conversations": { + "description": "The list of conversations.", + "items": { + "$ref": "Conversation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListDeploymentsResponse": { + "description": "Response message for AgentService.ListDeployments.", + "id": "ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The list of deployments.", + "items": { + "$ref": "Deployment" + }, + "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" + }, + "ListExamplesResponse": { + "description": "Response message for AgentService.ListExamples.", + "id": "ListExamplesResponse", + "properties": { + "examples": { + "description": "The list of examples.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuardrailsResponse": { + "description": "Response message for AgentService.ListGuardrails.", + "id": "ListGuardrailsResponse", + "properties": { + "guardrails": { + "description": "The list of guardrails.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "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" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsResponse": { + "description": "Response message for AgentService.ListTools.", + "id": "ListToolsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "tools": { + "description": "The list of tools.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsetsResponse": { + "description": "Response message for AgentService.ListToolsets.", + "id": "ListToolsetsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "toolsets": { + "description": "The list of toolsets.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LoggingSettings": { + "description": "Settings to describe the logging behaviors for the app.", + "id": "LoggingSettings", + "properties": { + "audioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded." + }, + "bigqueryExportSettings": { + "$ref": "BigQueryExportSettings", + "description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." + }, + "cloudLoggingSettings": { + "$ref": "CloudLoggingSettings", + "description": "Optional. Settings to describe the Cloud Logging behaviors for the app." + }, + "conversationLoggingSettings": { + "$ref": "ConversationLoggingSettings", + "description": "Optional. Settings to describe the conversation logging behaviors for the app." + }, + "evaluationAudioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions." + }, + "metricAnalysisSettings": { + "$ref": "MetricAnalysisSettings", + "description": "Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app." + }, + "redactionConfig": { + "$ref": "RedactionConfig", + "description": "Optional. Configuration for how sensitive data should be redacted." + } + }, + "type": "object" + }, + "McpTool": { + "description": "An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details.", + "id": "McpTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "description": { + "description": "Optional. The description of the MCP tool.", + "type": "string" + }, + "inputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the input arguments of the MCP tool." + }, + "name": { + "description": "Required. The name of the MCP tool.", + "type": "string" + }, + "outputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the output arguments of the MCP tool." + }, + "serverAddress": { + "description": "Required. The server address of the MCP server, e.g., \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "McpToolset": { + "description": "A toolset that contains a list of tools that are offered by the MCP server.", + "id": "McpToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "serverAddress": { + "description": "Required. The address of the MCP server, for example, \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "Message": { + "description": "A message within a conversation.", + "id": "Message", + "properties": { + "chunks": { + "description": "Optional. Content of the message as a series of chunks.", + "items": { + "$ref": "Chunk" + }, + "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" + }, + "MetricAnalysisSettings": { + "description": "Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline.", + "id": "MetricAnalysisSettings", + "properties": { + "llmMetricsOptedOut": { + "description": "Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected.", + "type": "boolean" + } + }, + "type": "object" + }, + "ModelSettings": { + "description": "Model settings contains various configurations for the LLM model.", + "id": "ModelSettings", + "properties": { + "model": { + "description": "Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.", + "type": "string" + }, + "temperature": { + "description": "Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "OAuthConfig": { + "description": "Configurations for authentication with OAuth.", + "id": "OAuthConfig", + "properties": { + "clientId": { + "description": "Required. The client ID from the OAuth provider.", + "type": "string" + }, + "clientSecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "oauthGrantType": { + "description": "Required. OAuth grant types.", + "enum": [ + "OAUTH_GRANT_TYPE_UNSPECIFIED", + "CLIENT_CREDENTIAL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to CLIENT_CREDENTIAL.", + "Represents the [client credential flow](https://oauth.net/2/grant-types/client-credentials)." + ], + "type": "string" + }, + "scopes": { + "description": "Optional. The OAuth scopes to grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenEndpoint": { + "description": "Required. The token endpoint in the OAuth provider to exchange for an access token.", + "type": "string" + } + }, + "type": "object" + }, + "Omnichannel": { + "description": "Represents an Omnichannel resource.", + "id": "Omnichannel", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the omnichannel resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the omnichannel resource.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the omnichannel resource.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation.", + "readOnly": true, + "type": "string" + }, + "integrationConfig": { + "$ref": "OmnichannelIntegrationConfig", + "description": "Optional. The integration config for the omnichannel resource." + }, + "name": { + "description": "Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project}/locations/{location}/omnichannels/{omnichannel}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the omnichannel resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfig": { + "description": "OmnichannelIntegrationConfig contains all App integration configs.", + "id": "OmnichannelIntegrationConfig", + "properties": { + "channelConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigChannelConfig" + }, + "description": "Optional. Various of configuration for handling App events.", + "type": "object" + }, + "routingConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigRoutingConfig" + }, + "description": "Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key.", + "type": "object" + }, + "subscriberConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigSubscriberConfig" + }, + "description": "Optional. Various of subscribers configs.", + "type": "object" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigCesAppConfig": { + "description": "Configs for CES app.", + "id": "OmnichannelIntegrationConfigCesAppConfig", + "properties": { + "app": { + "description": "The unique identifier of the CES app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigChannelConfig": { + "description": "ChannelConfig contains config for various of app integration.", + "id": "OmnichannelIntegrationConfigChannelConfig", + "properties": { + "whatsappConfig": { + "$ref": "OmnichannelIntegrationConfigWhatsappConfig", + "description": "WhatsApp config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigRoutingConfig": { + "description": "Routing config specify how/who to route app events to a subscriber.", + "id": "OmnichannelIntegrationConfigRoutingConfig", + "properties": { + "subscriberKey": { + "description": "The key of the subscriber.", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigSubscriberConfig": { + "description": "Configs of subscribers.", + "id": "OmnichannelIntegrationConfigSubscriberConfig", + "properties": { + "cesAppConfig": { + "$ref": "OmnichannelIntegrationConfigCesAppConfig", + "description": "Ces app config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigWhatsappConfig": { + "description": "How Omnichannel should receive/reply events from WhatsApp.", + "id": "OmnichannelIntegrationConfigWhatsappConfig", + "properties": { + "metaBusinessPortfolioId": { + "description": "The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number used for sending/receiving messages.", + "type": "string" + }, + "phoneNumberId": { + "description": "The Phone Number ID associated with the WhatsApp Business Account.", + "type": "string" + }, + "webhookVerifyToken": { + "description": "The verify token configured in the Meta App Dashboard for webhook verification.", + "type": "string" + }, + "whatsappBusinessAccountId": { + "description": "The customer's WhatsApp Business Account (WABA) ID.", + "type": "string" + }, + "whatsappBusinessToken": { + "description": "The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OmnichannelOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OpenApiTool": { + "description": "A remote API tool defined by an OpenAPI schema.", + "id": "OpenApiTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "description": { + "description": "Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`.", + "type": "string" + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response.", + "type": "boolean" + }, + "name": { + "description": "Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`.", + "type": "string" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema in JSON or YAML format.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client will trust." + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "OpenApiToolset": { + "description": "A toolset that contains a list of tools that are defined by an OpenAPI schema.", + "id": "OpenApiToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.", + "type": "boolean" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema of the toolset.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates" + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OutputAudioConfig": { + "description": "OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses.", + "id": "OutputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the output audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the output audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PythonCodeCondition": { + "description": "Python code block to evaluate the condition.", + "id": "PythonCodeCondition", + "properties": { + "pythonCode": { + "description": "Required. The python code to execute.", + "type": "string" + } + }, + "type": "object" + }, + "PythonFunction": { + "description": "A Python function tool.", + "id": "PythonFunction", + "properties": { + "description": { + "description": "Output only. The description of the Python function, parsed from the python code's docstring.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used.", + "type": "string" + }, + "pythonCode": { + "description": "Optional. The Python code to execute for the tool.", + "type": "string" + } + }, + "type": "object" + }, + "RedactionConfig": { + "description": "Configuration to instruct how sensitive data should be handled.", + "id": "RedactionConfig", + "properties": { + "deidentifyTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}`", + "type": "string" + }, + "enableRedaction": { + "description": "Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.", + "type": "boolean" + }, + "inspectTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}`", + "type": "string" + } + }, + "type": "object" + }, + "RestoreAppVersionRequest": { + "description": "Request message for AgentService.RestoreAppVersion", + "id": "RestoreAppVersionRequest", + "properties": {}, + "type": "object" + }, + "RetrieveToolSchemaRequest": { + "description": "Request message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaRequest", + "properties": { + "tool": { + "description": "Optional. The name of the tool to retrieve the schema for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "RetrieveToolSchemaResponse": { + "description": "Response message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaResponse", + "properties": { + "inputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool input parameters." + }, + "outputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool output parameters." + }, + "tool": { + "description": "The name of the tool that the schema is for. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that the schema is for." + } + }, + "type": "object" + }, + "RetrieveToolsRequest": { + "description": "Request message for ToolService.RetrieveTools.", + "id": "RetrieveToolsRequest", + "properties": { + "toolIds": { + "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RetrieveToolsResponse": { + "description": "Response message for ToolService.RetrieveTools.", + "id": "RetrieveToolsResponse", + "properties": { + "tools": { + "description": "Required. The list of tools that are included in the specified toolset.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionRequest": { + "description": "Request message for SessionService.RunSession.", + "id": "RunSessionRequest", + "properties": { + "config": { + "$ref": "SessionConfig", + "description": "Required. The configuration for the session." + }, + "inputs": { + "description": "Required. Inputs for the session.", + "items": { + "$ref": "SessionInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionResponse": { + "description": "Response message for SessionService.RunSession.", + "id": "RunSessionResponse", + "properties": { + "outputs": { + "description": "Outputs for the session.", + "items": { + "$ref": "SessionOutput" + }, + "type": "array" + } + }, + "type": "object" + }, + "Schema": { + "description": "Represents a select subset of an OpenAPI 3.0 schema object.", + "id": "Schema", + "properties": { + "additionalProperties": { + "$ref": "Schema", + "description": "Optional. Can either be a boolean or an object, controls the presence of additional properties." + }, + "anyOf": { + "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "default": { + "description": "Optional. Default value of the data.", + "type": "any" + }, + "defs": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema.", + "type": "object" + }, + "description": { + "description": "Optional. The description of the data.", + "type": "string" + }, + "enum": { + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "$ref": "Schema", + "description": "Optional. Schema of the elements of Type.ARRAY." + }, + "maxItems": { + "description": "Optional. Maximum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "maximum": { + "description": "Optional. Maximum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "minItems": { + "description": "Optional. Minimum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "minimum": { + "description": "Optional. Minimum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "nullable": { + "description": "Optional. Indicates if the value may be null.", + "type": "boolean" + }, + "prefixItems": { + "description": "Optional. Schemas of initial elements of Type.ARRAY.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. Properties of Type.OBJECT.", + "type": "object" + }, + "ref": { + "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring.", + "type": "string" + }, + "required": { + "description": "Optional. Required properties of Type.OBJECT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Optional. The title of the schema.", + "type": "string" + }, + "type": { + "description": "Required. The type of the data.", + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "INTEGER", + "NUMBER", + "BOOLEAN", + "OBJECT", + "ARRAY" + ], + "enumDescriptions": [ + "Type unspecified.", + "String type.", + "Integer type.", + "Number type.", + "Boolean type.", + "Object type.", + "Array type." + ], + "type": "string" + }, + "uniqueItems": { + "description": "Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServiceAccountAuthConfig": { + "description": "Configurations for authentication using a custom service account.", + "id": "ServiceAccountAuthConfig", + "properties": { + "scopes": { + "description": "Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAgentIdTokenAuthConfig": { + "description": "Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent.", + "id": "ServiceAgentIdTokenAuthConfig", + "properties": {}, + "type": "object" + }, + "ServiceDirectoryConfig": { + "description": "Configuration for tools using Service Directory.", + "id": "ServiceDirectoryConfig", + "properties": { + "service": { + "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app.", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfig": { + "description": "The configuration for the session.", + "id": "SessionConfig", + "properties": { + "deployment": { + "description": "Optional. The deployment of the app to use for the session. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "historicalContexts": { + "description": "Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "description": "Optional. Configuration for generating the output audio." + }, + "remoteDialogflowQueryParameters": { + "$ref": "SessionConfigRemoteDialogflowQueryParameters", + "description": "Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent." + }, + "timeZone": { + "description": "Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. \"America/Los_Angeles\".", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfigRemoteDialogflowQueryParameters": { + "description": "[QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent.", + "id": "SessionConfigRemoteDialogflowQueryParameters", + "properties": { + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "webhookHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + } + }, + "type": "object" + }, + "SessionInput": { + "description": "Input for the session.", + "id": "SessionInput", + "properties": { + "audio": { + "description": "Optional. Audio data from the end user.", + "format": "byte", + "type": "string" + }, + "blob": { + "$ref": "Blob", + "description": "Optional. Blob data from the end user." + }, + "dtmf": { + "description": "Optional. DTMF digits from the end user.", + "type": "string" + }, + "event": { + "$ref": "Event", + "description": "Optional. Event input." + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data from the end user." + }, + "text": { + "description": "Optional. Text data from the end user.", + "type": "string" + }, + "toolResponses": { + "$ref": "ToolResponses", + "description": "Optional. Execution results for the tool calls from the client." + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters.", + "type": "object" + }, + "willContinue": { + "description": "Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time.", + "type": "boolean" + } + }, + "type": "object" + }, + "SessionOutput": { + "description": "Output for the session.", + "id": "SessionOutput", + "properties": { + "audio": { + "description": "Output audio from the CES agent.", + "format": "byte", + "type": "string" + }, + "citations": { + "$ref": "Citations", + "description": "Citations that provide the source information for the agent's generated text." + }, + "diagnosticInfo": { + "$ref": "SessionOutputDiagnosticInfo", + "description": "Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn." + }, + "endSession": { + "$ref": "EndSession", + "description": "Indicates the session has ended." + }, + "googleSearchSuggestions": { + "$ref": "GoogleSearchSuggestions", + "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom payload with structured output from the CES agent.", + "type": "object" + }, + "text": { + "description": "Output text from the CES agent.", + "type": "string" + }, + "toolCalls": { + "$ref": "ToolCalls", + "description": "Request for the client to execute the tools." + }, + "turnCompleted": { + "description": "If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn.", + "type": "boolean" + }, + "turnIndex": { + "description": "Indicates the sequential order of conversation turn to which this output belongs to, starting from 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SessionOutputDiagnosticInfo": { + "description": "Contains execution details during the processing.", + "id": "SessionOutputDiagnosticInfo", + "properties": { + "messages": { + "description": "List of the messages that happened during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations." + } + }, + "type": "object" + }, + "Span": { + "description": "A span is a unit of work or a single operation during the request processing.", + "id": "Span", + "properties": { + "attributes": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Key-value attributes associated with the span.", + "readOnly": true, + "type": "object" + }, + "childSpans": { + "description": "Output only. The child spans that are nested under this span.", + "items": { + "$ref": "Span" + }, + "readOnly": true, + "type": "array" + }, + "duration": { + "description": "Output only. The duration of the span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the span.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SynthesizeSpeechConfig": { + "description": "Configuration for how the agent response should be synthesized.", + "id": "SynthesizeSpeechConfig", + "properties": { + "speakingRate": { + "description": "Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.", + "format": "double", + "type": "number" + }, + "voice": { + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech.", + "type": "string" + } + }, + "type": "object" + }, + "SystemTool": { + "description": "Pre-defined system tool.", + "id": "SystemTool", + "properties": { + "description": { + "description": "Output only. The description of the system tool.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the system tool.", + "type": "string" + } + }, + "type": "object" + }, + "TimeZoneSettings": { + "description": "TimeZone settings of the app.", + "id": "TimeZoneSettings", + "properties": { + "timeZone": { + "description": "Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris.", + "type": "string" + } + }, + "type": "object" + }, + "TlsConfig": { + "description": "The TLS configuration.", + "id": "TlsConfig", + "properties": { + "caCerts": { + "description": "Required. Specifies a list of allowed custom CA certificates for HTTPS verification.", + "items": { + "$ref": "TlsConfigCaCert" + }, + "type": "array" + } + }, + "type": "object" + }, + "TlsConfigCaCert": { + "description": "The CA certificate.", + "id": "TlsConfigCaCert", + "properties": { + "cert": { + "description": "Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\")", + "format": "byte", + "type": "string" + }, + "displayName": { + "description": "Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.", + "type": "string" + } + }, + "type": "object" + }, + "Tool": { + "description": "A tool represents an action that the CES agent can take to achieve certain goals.", + "id": "Tool", + "properties": { + "clientFunction": { + "$ref": "ClientFunction", + "description": "Optional. The client function." + }, + "connectorTool": { + "$ref": "ConnectorTool", + "description": "Optional. The Integration Connector tool." + }, + "createTime": { + "description": "Output only. Timestamp when the tool was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreTool": { + "$ref": "DataStoreTool", + "description": "Optional. The data store tool." + }, + "displayName": { + "description": "Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tool.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "fileSearchTool": { + "$ref": "FileSearchTool", + "description": "Optional. The file search tool." + }, + "generatedSummary": { + "description": "Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "googleSearchTool": { + "$ref": "GoogleSearchTool", + "description": "Optional. The google search tool." + }, + "mcpTool": { + "$ref": "McpTool", + "description": "Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset." + }, + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "type": "string" + }, + "openApiTool": { + "$ref": "OpenApiTool", + "description": "Optional. The open API tool." + }, + "pythonFunction": { + "$ref": "PythonFunction", + "description": "Optional. The python function tool." + }, + "systemTool": { + "$ref": "SystemTool", + "description": "Optional. The system tool." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tool behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the tool was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "widgetTool": { + "$ref": "WidgetTool", + "description": "Optional. The widget tool." + } + }, + "type": "object" + }, + "ToolCall": { + "description": "Request for the client or the agent to execute the specified tool.", + "id": "ToolCall", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", + "type": "string" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute." + } + }, + "type": "object" + }, + "ToolCalls": { + "description": "Request for the client to execute the tools and return the execution results before continuing the session.", + "id": "ToolCalls", + "properties": { + "toolCalls": { + "description": "Optional. The list of tool calls to execute.", + "items": { + "$ref": "ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "ToolFakeConfig": { + "description": "Configuration for tool behavior in fake mode.", + "id": "ToolFakeConfig", + "properties": { + "codeBlock": { + "$ref": "CodeBlock", + "description": "Optional. Code block which will be executed instead of a real tool call." + }, + "enableFakeMode": { + "description": "Optional. Whether the tool is using fake mode.", + "type": "boolean" + } + }, + "type": "object" + }, + "ToolResponse": { + "description": "The execution result of a specific tool from the client or the agent.", + "id": "ToolResponse", + "properties": { + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The matching ID of the tool call the response is for.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool that got executed." + } + }, + "type": "object" + }, + "ToolResponses": { + "description": "Execution results for the requested tool calls from the client.", + "id": "ToolResponses", + "properties": { + "toolResponses": { + "description": "Optional. The list of tool execution results.", + "items": { + "$ref": "ToolResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "Toolset": { + "description": "A toolset represents a group of dynamically managed tools that can be used by the agent.", + "id": "Toolset", + "properties": { + "connectorToolset": { + "$ref": "ConnectorToolset", + "description": "Optional. A toolset that generates tools from an Integration Connectors Connection." + }, + "createTime": { + "description": "Output only. Timestamp when the toolset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the toolset.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the toolset. Must be unique within the same app.", + "type": "string" + }, + "etag": { + "description": "ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tools in the toolset.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "mcpToolset": { + "$ref": "McpToolset", + "description": "Optional. A toolset that contains a list of tools that are offered by the MCP server." + }, + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + }, + "openApiToolset": { + "$ref": "OpenApiToolset", + "description": "Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tools behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the toolset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ToolsetTool": { + "description": "A tool that is created from a toolset.", + "id": "ToolsetTool", + "properties": { + "toolId": { + "description": "Optional. The tool ID to filter the tools to retrieve the schema for.", + "type": "string" + }, + "toolset": { + "description": "Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "TransferRule": { + "description": "Rule for transferring to a specific agent.", + "id": "TransferRule", + "properties": { + "childAgent": { + "description": "Required. The resource name of the child agent the rule applies to. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "deterministicTransfer": { + "$ref": "TransferRuleDeterministicTransfer", + "description": "Optional. A rule that immediately transfers to the target agent when the condition is met." + }, + "direction": { + "description": "Required. The direction of the transfer.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "PARENT_TO_CHILD", + "CHILD_TO_PARENT" + ], + "enumDescriptions": [ + "Unspecified direction.", + "Transfer from the parent agent to the child agent.", + "Transfer from the child agent to the parent agent." + ], + "type": "string" + }, + "disablePlannerTransfer": { + "$ref": "TransferRuleDisablePlannerTransfer", + "description": "Optional. Rule that prevents the planner from transferring to the target agent." + } + }, + "type": "object" + }, + "TransferRuleDeterministicTransfer": { + "description": "Deterministic transfer rule. When the condition evaluates to true, the transfer occurs.", + "id": "TransferRuleDeterministicTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs." + }, + "pythonCodeCondition": { + "$ref": "PythonCodeCondition", + "description": "Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs." + } + }, + "type": "object" + }, + "TransferRuleDisablePlannerTransfer": { + "description": "A rule that prevents the planner from transferring to the target agent.", + "id": "TransferRuleDisablePlannerTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent." + } + }, + "type": "object" + }, + "TriggerAction": { + "description": "Action that is taken when a certain precondition is met.", + "id": "TriggerAction", + "properties": { + "generativeAnswer": { + "$ref": "TriggerActionGenerativeAnswer", + "description": "Optional. Respond with a generative answer." + }, + "respondImmediately": { + "$ref": "TriggerActionRespondImmediately", + "description": "Optional. Immediately respond with a preconfigured response." + }, + "transferAgent": { + "$ref": "TriggerActionTransferAgent", + "description": "Optional. Transfer the conversation to a different agent." + } + }, + "type": "object" + }, + "TriggerActionGenerativeAnswer": { + "description": "The agent will immediately respond with a generative answer.", + "id": "TriggerActionGenerativeAnswer", + "properties": { + "prompt": { + "description": "Required. The prompt to use for the generative answer.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionRespondImmediately": { + "description": "The agent will immediately respond with a preconfigured response.", + "id": "TriggerActionRespondImmediately", + "properties": { + "responses": { + "description": "Required. The canned responses for the agent to choose from. The response is chosen randomly.", + "items": { + "$ref": "TriggerActionResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "TriggerActionResponse": { + "description": "Represents a response from the agent.", + "id": "TriggerActionResponse", + "properties": { + "disabled": { + "description": "Optional. Whether the response is disabled. Disabled responses are not used by the agent.", + "type": "boolean" + }, + "text": { + "description": "Required. Text for the agent to respond with.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionTransferAgent": { + "description": "The agent will transfer the conversation to a different agent.", + "id": "TriggerActionTransferAgent", + "properties": { + "agent": { + "description": "Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "WebSearchQuery": { + "description": "Represents a single web search query and its associated search uri.", + "id": "WebSearchQuery", + "properties": { + "query": { + "description": "The search query text.", + "type": "string" + }, + "uri": { + "description": "The URI to the Google Search results page for the query.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetTool": { + "description": "Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent.", + "id": "WidgetTool", + "properties": { + "description": { + "description": "Optional. The description of the widget tool.", + "type": "string" + }, + "name": { + "description": "Required. The display name of the widget tool.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The input parameters of the widget tool." + }, + "widgetType": { + "description": "Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED.", + "enum": [ + "WIDGET_TYPE_UNSPECIFIED", + "CUSTOM", + "PRODUCT_CAROUSEL", + "PRODUCT_DETAILS", + "QUICK_ACTIONS", + "PRODUCT_COMPARISON", + "ADVANCED_PRODUCT_DETAILS", + "SHORT_FORM", + "OVERALL_SATISFACTION", + "ORDER_SUMMARY", + "APPOINTMENT_DETAILS" + ], + "enumDescriptions": [ + "Unspecified widget type.", + "Custom widget type.", + "Product carousel widget.", + "Product details widget.", + "Quick actions widget.", + "Product comparison widget.", + "Advanced product details widget.", + "Short form widget.", + "Overall satisfaction widget.", + "Order summary widget.", + "Appointment details widget." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/ces-v1beta.json b/discovery/ces-v1beta.json new file mode 100644 index 00000000000..5b85a06e461 --- /dev/null +++ b/discovery/ces-v1beta.json @@ -0,0 +1,10579 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ces": { + "description": "Create, update, delete, and manage your Next Gen Agents" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://ces.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Customer Engagement Suite", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.eu.rep.googleapis.com/", + "location": "eu" + } + ], + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "ces:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ces.mtls.googleapis.com/", + "name": "ces", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "ces.projects.locations.list", + "parameterOrder": [ + "name" + ], + "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.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "create": { + "description": "Creates a new app in the given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appId": { + "description": "Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to create an app in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeTool": { + "description": "Executes the given tool with the given arguments.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:executeTool", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.executeTool", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:executeTool", + "request": { + "$ref": "ExecuteToolRequest" + }, + "response": { + "$ref": "ExecuteToolResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportApp": { + "description": "Exports the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:exportApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.exportApp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to export.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:exportApp", + "request": { + "$ref": "ExportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importApp": { + "description": "Imports the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps:importApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importApp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name with the location of the app to import.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps:importApp", + "request": { + "$ref": "ImportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importEvaluations": { + "description": "Imports evaluations into the app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:importEvaluations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importEvaluations", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The app to import the evaluations into. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:importEvaluations", + "request": { + "$ref": "ImportEvaluationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists apps in the given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListApps call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to list apps from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps", + "response": { + "$ref": "ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveToolSchema": { + "description": "Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:retrieveToolSchema", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.retrieveToolSchema", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:retrieveToolSchema", + "request": { + "$ref": "RetrieveToolSchemaRequest" + }, + "response": { + "$ref": "RetrieveToolSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runEvaluation": { + "description": "Runs an evaluation of the app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:runEvaluation", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.runEvaluation", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The app to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:runEvaluation", + "request": { + "$ref": "RunEvaluationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testPersonaVoice": { + "description": "Tests the voice of a persona. Also accepts a default persona.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:testPersonaVoice", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.testPersonaVoice", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. the resource name of the app to test the persona voice for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:testPersonaVoice", + "request": { + "$ref": "TestPersonaVoiceRequest" + }, + "response": { + "$ref": "TestPersonaVoiceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "agents": { + "methods": { + "create": { + "description": "Creates a new agent in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.agents.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "agentId": { + "description": "Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an agent in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/agents", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.agents.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the agent to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the agent to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists agents in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListAgents call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list agents from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/agents", + "response": { + "$ref": "ListAgentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.agents.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "changelogs": { + "methods": { + "get": { + "description": "Gets the specified changelog.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs/{changelogsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the changelog to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/changelogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Changelog" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the changelogs of the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action=\"Create\"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time > \"2025-01-01T00:00:00Z\"` * `create_time <= \"2025-01-01T00:00:00Z\" AND resource_type:tool`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListChangelogs call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list changelogs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/changelogs", + "response": { + "$ref": "ListChangelogsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "conversations": { + "methods": { + "batchDelete": { + "description": "Batch deletes the specified conversations.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations:batchDelete", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to delete conversations from. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/conversations:batchDelete", + "request": { + "$ref": "BatchDeleteConversationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.conversations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateEvaluation": { + "description": "Creates a golden evaluation from a conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}:generateEvaluation", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.generateEvaluation", + "parameterOrder": [ + "conversation" + ], + "parameters": { + "conversation": { + "description": "Required. The conversation to create the golden evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+conversation}:generateEvaluation", + "request": { + "$ref": "GenerateEvaluationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all source will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists conversations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListConversations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list conversations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + }, + "sources": { + "description": "Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/conversations", + "response": { + "$ref": "ListConversationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/deployments", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the deployment to delete. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists deployments in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/deployments", + "response": { + "$ref": "ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationDatasets": { + "methods": { + "create": { + "description": "Creates an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluationDatasets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationDatasetId": { + "description": "Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationDatasets", + "request": { + "$ref": "EvaluationDataset" + }, + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationDatasets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the evaluation dataset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationDatasets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation dataset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation datasets in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationDatasets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation datasets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationDatasets", + "response": { + "$ref": "ListEvaluationDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluationDatasets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "EvaluationDataset" + }, + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationExpectations": { + "methods": { + "create": { + "description": "Creates an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluationExpectations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationExpectationId": { + "description": "Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation expectation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationExpectations", + "request": { + "$ref": "EvaluationExpectation" + }, + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationExpectations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the evaluation expectation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationExpectations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation expectation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation expectations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationExpectations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation expectations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationExpectations", + "response": { + "$ref": "ListEvaluationExpectationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluationExpectations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "EvaluationExpectation" + }, + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationRuns": { + "methods": { + "delete": { + "description": "Deletes an evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationRuns.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation run to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationRuns.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation run to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation runs in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationRuns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation runs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationRuns", + "response": { + "$ref": "ListEvaluationRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluations": { + "methods": { + "create": { + "description": "Creates an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationId": { + "description": "Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluations", + "request": { + "$ref": "Evaluation" + }, + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the evaluation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag.", + "location": "query", + "type": "string" + }, + "lastTenResults": { + "description": "Optional. Whether to include the last 10 evaluation results for each evaluation in the response.", + "location": "query", + "type": "boolean" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluations", + "response": { + "$ref": "ListEvaluationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Evaluation" + }, + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "results": { + "methods": { + "delete": { + "description": "Deletes an evaluation result.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results/{resultsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluations.results.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation result to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation result.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results/{resultsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.results.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation result to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationResult" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation results for a given evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.results.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project}/locations/{location}/apps/{app}/evaluations/-`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/results", + "response": { + "$ref": "ListEvaluationResultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "examples": { + "methods": { + "create": { + "description": "Creates a new example in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.examples.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "exampleId": { + "description": "Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an example in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/examples", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.examples.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the example to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the example to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists examples in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListExamples call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list examples from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/examples", + "response": { + "$ref": "ListExamplesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.examples.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "guardrails": { + "methods": { + "create": { + "description": "Creates a new guardrail in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.guardrails.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "guardrailId": { + "description": "Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create a guardrail in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/guardrails", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.guardrails.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the guardrail to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the guardrail to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists guardrails in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListGuardrails call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list guardrails from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/guardrails", + "response": { + "$ref": "ListGuardrailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.guardrails.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "scheduledEvaluationRuns": { + "methods": { + "create": { + "description": "Creates a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The app to create the scheduled evaluation run for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "scheduledEvaluationRunId": { + "description": "Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/scheduledEvaluationRuns", + "request": { + "$ref": "ScheduledEvaluationRun" + }, + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the scheduled evaluation run to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the scheduled evaluation run to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all scheduled evaluation runs in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Supported fields are: \"name\" (ascending), \"create_time\" (descending), \"update_time\" (descending), \"next_scheduled_execution\" (ascending), and \"last_completed_run.create_time\" (descending). If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list scheduled evaluation runs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/scheduledEvaluationRuns", + "response": { + "$ref": "ListScheduledEvaluationRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "ScheduledEvaluationRun" + }, + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "generateChatToken": { + "description": "Generates a session scoped token for chat widget to authenticate with Session APIs.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:generateChatToken", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.generateChatToken", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The session name to generate the chat token for. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:generateChatToken", + "request": { + "$ref": "GenerateChatTokenRequest" + }, + "response": { + "$ref": "GenerateChatTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runSession": { + "description": "Initiates a single turn interaction with the CES agent within a session.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:runSession", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.runSession", + "parameterOrder": [ + "session" + ], + "parameters": { + "session": { + "description": "Required. The unique identifier of the session. Format: `projects/{project}/locations/{location}/apps/{app}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+session}:runSession", + "request": { + "$ref": "RunSessionRequest" + }, + "response": { + "$ref": "RunSessionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tools": { + "methods": { + "create": { + "description": "Creates a new tool in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.tools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a tool in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolId": { + "description": "Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/tools", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.tools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the tool to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the tool to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tools in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the tools. Use \"include_system_tools=true\" to include system tools in the response. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListTools call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list tools from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/tools", + "response": { + "$ref": "ListToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.tools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "toolsets": { + "methods": { + "create": { + "description": "Creates a new toolset in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a toolset in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolsetId": { + "description": "Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/toolsets", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.toolsets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the toolset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the toolset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists toolsets in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListToolsets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list toolsets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/toolsets", + "response": { + "$ref": "ListToolsetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.toolsets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "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.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveTools": { + "description": "Retrieve the list of tools included in the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}:retrieveTools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.retrieveTools", + "parameterOrder": [ + "toolset" + ], + "parameters": { + "toolset": { + "description": "Required. The name of the toolset to retrieve the tools for. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+toolset}:retrieveTools", + "request": { + "$ref": "RetrieveToolsRequest" + }, + "response": { + "$ref": "RetrieveToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "create": { + "description": "Creates a new app version in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appVersionId": { + "description": "Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an app version in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/versions", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all app versions in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "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. The next_page_token value returned from a previous list AgentService.ListAppVersions call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list app versions from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/versions", + "response": { + "$ref": "ListAppVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to restore.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:restore", + "request": { + "$ref": "RestoreAppVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "ces.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "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": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20260213", + "rootUrl": "https://ces.googleapis.com/", + "schemas": { + "Action": { + "description": "Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details.", + "id": "Action", + "properties": { + "connectionActionId": { + "description": "ID of a Connection action for the tool to use.", + "type": "string" + }, + "entityOperation": { + "$ref": "ActionEntityOperation", + "description": "Entity operation configuration for the tool to use." + }, + "inputFields": { + "description": "Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFields": { + "description": "Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActionEntityOperation": { + "description": "Entity CRUD operation specification.", + "id": "ActionEntityOperation", + "properties": { + "entityId": { + "description": "Required. ID of the entity.", + "type": "string" + }, + "operation": { + "description": "Required. Operation to perform on the entity.", + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation type unspecified. Invalid, ConnectorTool create/update will fail.", + "List operation.", + "Get operation.", + "Create operation.", + "Update operation.", + "Delete operation." + ], + "type": "string" + } + }, + "type": "object" + }, + "Agent": { + "description": "An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.", + "id": "Agent", + "properties": { + "afterAgentCallbacks": { + "description": "Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterModelCallbacks": { + "description": "Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterToolCallbacks": { + "description": "Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeAgentCallbacks": { + "description": "Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeModelCallbacks": { + "description": "Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeToolCallbacks": { + "description": "Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "childAgents": { + "description": "Optional. List of child agents in the agent tree. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Timestamp when the agent was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the agent.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the agent.", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "generatedSummary": { + "description": "Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "instruction": { + "description": "Optional. Instructions for the LLM model to guide the agent's behavior.", + "type": "string" + }, + "llmAgent": { + "$ref": "AgentLlmAgent", + "description": "Optional. The default agent type." + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "remoteDialogflowAgent": { + "$ref": "AgentRemoteDialogflowAgent", + "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." + }, + "tools": { + "description": "Optional. List of available tools for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets for the agent.", + "items": { + "$ref": "AgentAgentToolset" + }, + "type": "array" + }, + "transferRules": { + "description": "Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used.", + "items": { + "$ref": "TransferRule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the agent was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentAgentToolset": { + "description": "A toolset with a selection of its tools.", + "id": "AgentAgentToolset", + "properties": { + "toolIds": { + "description": "Optional. The tools IDs to filter the toolset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolset": { + "description": "Required. The resource name of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "AgentLlmAgent": { + "description": "Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model.", + "id": "AgentLlmAgent", + "properties": {}, + "type": "object" + }, + "AgentRemoteDialogflowAgent": { + "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", + "id": "AgentRemoteDialogflowAgent", + "properties": { + "agent": { + "description": "Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "environmentId": { + "description": "Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used.", + "type": "string" + }, + "flowId": { + "description": "Optional. The flow ID of the flow in the Dialogflow agent.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends.", + "type": "object" + }, + "respectResponseInterruptionSettings": { + "description": "Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgentTransfer": { + "description": "Represents an event indicating the transfer of a conversation to a different agent.", + "id": "AgentTransfer", + "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" + }, + "AggregatedMetrics": { + "description": "Aggregated metrics for an evaluation or evaluation dataset.", + "id": "AggregatedMetrics", + "properties": { + "metricsByAppVersion": { + "description": "Output only. Aggregated metrics, grouped by app version ID.", + "items": { + "$ref": "AggregatedMetricsMetricsByAppVersion" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsHallucinationMetrics": { + "description": "Metrics for hallucination results.", + "id": "AggregatedMetricsHallucinationMetrics", + "properties": { + "score": { + "description": "Output only. The average hallucination score (0 to 1).", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "AggregatedMetricsMetricsByAppVersion": { + "description": "Metrics aggregated per app version.", + "id": "AggregatedMetricsMetricsByAppVersion", + "properties": { + "appVersionId": { + "description": "Output only. The app version ID.", + "readOnly": true, + "type": "string" + }, + "failCount": { + "description": "Output only. The number of times the evaluation failed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "hallucinationMetrics": { + "description": "Output only. Metrics for hallucination within this app version.", + "items": { + "$ref": "AggregatedMetricsHallucinationMetrics" + }, + "readOnly": true, + "type": "array" + }, + "metricsByTurn": { + "description": "Output only. Metrics aggregated per turn within this app version.", + "items": { + "$ref": "AggregatedMetricsMetricsByTurn" + }, + "readOnly": true, + "type": "array" + }, + "passCount": { + "description": "Output only. The number of times the evaluation passed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "semanticSimilarityMetrics": { + "description": "Output only. Metrics for semantic similarity within this app version.", + "items": { + "$ref": "AggregatedMetricsSemanticSimilarityMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencyMetrics": { + "description": "Output only. Metrics for tool call latency within this app version.", + "items": { + "$ref": "AggregatedMetricsToolCallLatencyMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolMetrics": { + "description": "Output only. Metrics for each tool within this app version.", + "items": { + "$ref": "AggregatedMetricsToolMetrics" + }, + "readOnly": true, + "type": "array" + }, + "turnLatencyMetrics": { + "description": "Output only. Metrics for turn latency within this app version.", + "items": { + "$ref": "AggregatedMetricsTurnLatencyMetrics" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsMetricsByTurn": { + "description": "Metrics aggregated per turn.", + "id": "AggregatedMetricsMetricsByTurn", + "properties": { + "hallucinationMetrics": { + "description": "Output only. Metrics for hallucination within this turn.", + "items": { + "$ref": "AggregatedMetricsHallucinationMetrics" + }, + "readOnly": true, + "type": "array" + }, + "semanticSimilarityMetrics": { + "description": "Output only. Metrics for semantic similarity within this turn.", + "items": { + "$ref": "AggregatedMetricsSemanticSimilarityMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencyMetrics": { + "description": "Output only. Metrics for tool call latency within this turn.", + "items": { + "$ref": "AggregatedMetricsToolCallLatencyMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolMetrics": { + "description": "Output only. Metrics for each tool within this turn.", + "items": { + "$ref": "AggregatedMetricsToolMetrics" + }, + "readOnly": true, + "type": "array" + }, + "turnIndex": { + "description": "Output only. The turn index (0-based).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turnLatencyMetrics": { + "description": "Output only. Metrics for turn latency within this turn.", + "items": { + "$ref": "AggregatedMetricsTurnLatencyMetrics" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsSemanticSimilarityMetrics": { + "description": "Metrics for semantic similarity results.", + "id": "AggregatedMetricsSemanticSimilarityMetrics", + "properties": { + "score": { + "description": "Output only. The average semantic similarity score (0-4).", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "AggregatedMetricsToolCallLatencyMetrics": { + "description": "Metrics for tool call latency.", + "id": "AggregatedMetricsToolCallLatencyMetrics", + "properties": { + "averageLatency": { + "description": "Output only. The average latency of the tool calls.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "tool": { + "description": "Output only. The name of the tool.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AggregatedMetricsToolMetrics": { + "description": "Metrics for a single tool.", + "id": "AggregatedMetricsToolMetrics", + "properties": { + "failCount": { + "description": "Output only. The number of times the tool failed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passCount": { + "description": "Output only. The number of times the tool passed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "tool": { + "description": "Output only. The name of the tool.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AggregatedMetricsTurnLatencyMetrics": { + "description": "Metrics for turn latency.", + "id": "AggregatedMetricsTurnLatencyMetrics", + "properties": { + "averageLatency": { + "description": "Output only. The average latency of the turns.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AmbientSoundConfig": { + "description": "Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.", + "id": "AmbientSoundConfig", + "properties": { + "gcsUri": { + "description": "Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object.", + "type": "string" + }, + "prebuiltAmbientNoise": { + "deprecated": true, + "description": "Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`.", + "enum": [ + "PREBUILT_AMBIENT_NOISE_UNSPECIFIED", + "RETAIL_STORE", + "CONVENTION_HALL", + "OUTDOOR" + ], + "enumDescriptions": [ + "Not specified.", + "Ambient noise of a retail store.", + "Ambient noise of a convention hall.", + "Ambient noise of a street." + ], + "type": "string" + }, + "prebuiltAmbientSound": { + "description": "Optional. Name of the prebuilt ambient sound. Valid values are: - \"coffee_shop\" - \"keyboard\" - \"keypad\" - \"hum\" - \"office_1\" - \"office_2\" - \"office_3\" - \"room_1\" - \"room_2\" - \"room_3\" - \"room_4\" - \"room_5\" - \"air_conditioner\"", + "type": "string" + }, + "volumeGainDb": { + "description": "Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ApiAuthentication": { + "description": "Authentication information required for API calls.", + "id": "ApiAuthentication", + "properties": { + "apiKeyConfig": { + "$ref": "ApiKeyConfig", + "description": "Optional. Config for API key auth." + }, + "bearerTokenConfig": { + "$ref": "BearerTokenConfig", + "description": "Optional. Config for bearer token auth." + }, + "oauthConfig": { + "$ref": "OAuthConfig", + "description": "Optional. Config for OAuth." + }, + "serviceAccountAuthConfig": { + "$ref": "ServiceAccountAuthConfig", + "description": "Optional. Config for service account authentication." + }, + "serviceAgentIdTokenAuthConfig": { + "$ref": "ServiceAgentIdTokenAuthConfig", + "description": "Optional. Config for ID token auth generated from CES service agent." + } + }, + "type": "object" + }, + "ApiKeyConfig": { + "description": "Configurations for authentication with API key.", + "id": "ApiKeyConfig", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "keyName": { + "description": "Required. The parameter name or the header name of the API key. E.g., If the API request is \"https://example.com/act?X-Api-Key=\", \"X-Api-Key\" would be the parameter name.", + "type": "string" + }, + "requestLocation": { + "description": "Required. Key location in the request.", + "enum": [ + "REQUEST_LOCATION_UNSPECIFIED", + "HEADER", + "QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified. This value should not be unused.", + "Represents the key in http header.", + "Represents the key in query string." + ], + "type": "string" + } + }, + "type": "object" + }, + "App": { + "description": "An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context.", + "id": "App", + "properties": { + "audioProcessingConfig": { + "$ref": "AudioProcessingConfig", + "description": "Optional. Audio processing configuration of the app." + }, + "clientCertificateSettings": { + "$ref": "ClientCertificateSettings", + "description": "Optional. The default client certificate settings for the app." + }, + "createTime": { + "description": "Output only. Timestamp when the app was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreSettings": { + "$ref": "DataStoreSettings", + "description": "Optional. The data store settings for the app." + }, + "defaultChannelProfile": { + "$ref": "ChannelProfile", + "description": "Optional. The default channel profile used by the app." + }, + "deploymentCount": { + "description": "Output only. Number of deployments in the app.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "description": { + "description": "Optional. Human-readable description of the app.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Optional. The evaluation thresholds for the app." + }, + "evaluationPersonas": { + "description": "Optional. The evaluation personas for the app. This field is used to define the personas that can be used for evaluation. Maximum of 30 personas can be defined.", + "items": { + "$ref": "EvaluationPersona" + }, + "type": "array" + }, + "evaluationSettings": { + "$ref": "EvaluationSettings", + "description": "Optional. The evaluation settings for the app." + }, + "globalInstruction": { + "description": "Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.", + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the app. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "languageSettings": { + "$ref": "LanguageSettings", + "description": "Optional. Language settings of the app." + }, + "locked": { + "description": "Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected.", + "type": "boolean" + }, + "loggingSettings": { + "$ref": "LoggingSettings", + "description": "Optional. Logging settings of the app." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.", + "type": "object" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed." + }, + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "pinned": { + "description": "Optional. Whether the app is pinned in the app list.", + "type": "boolean" + }, + "predefinedVariableDeclarations": { + "description": "Output only. The declarations of predefined variables for the app.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "readOnly": true, + "type": "array" + }, + "rootAgent": { + "description": "Optional. The root agent is the entry point of the app. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "timeZoneSettings": { + "$ref": "TimeZoneSettings", + "description": "Optional. TimeZone settings of the app." + }, + "toolExecutionMode": { + "description": "Optional. The tool execution mode for the app. If not provided, will default to PARALLEL.", + "enum": [ + "TOOL_EXECUTION_MODE_UNSPECIFIED", + "PARALLEL", + "SEQUENTIAL" + ], + "enumDescriptions": [ + "Unspecified tool execution mode. Default to PARALLEL.", + "If there are multiple tools being selected, they will be executed in parallel, with the same [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context).", + "If there are multiple tools being selected, they will be executed sequentially. The next tool will only be executed after the previous tool completes and it can see updated [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context) from the previous tool." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the app was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "variableDeclarations": { + "description": "Optional. The declarations of the variables.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppSnapshot": { + "description": "A snapshot of the app.", + "id": "AppSnapshot", + "properties": { + "agents": { + "description": "Optional. List of agents in the app.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "app": { + "$ref": "App", + "description": "Optional. The basic settings for the app." + }, + "examples": { + "description": "Optional. List of examples in the app.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "guardrails": { + "description": "Optional. List of guardrails in the app.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "tools": { + "description": "Optional. List of tools in the app.", + "items": { + "$ref": "Tool" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets in the app.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppVariableDeclaration": { + "description": "Defines the structure and metadata for a variable.", + "id": "AppVariableDeclaration", + "properties": { + "description": { + "description": "Required. The description of the variable.", + "type": "string" + }, + "name": { + "description": "Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.", + "type": "string" + }, + "schema": { + "$ref": "Schema", + "description": "Required. The schema of the variable." + } + }, + "type": "object" + }, + "AppVersion": { + "description": "In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created.", + "id": "AppVersion", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the app version was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email of the user who created the app version.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the app version.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app version.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "snapshot": { + "$ref": "AppSnapshot", + "description": "Output only. The snapshot of the app when the version is created.", + "readOnly": true + } + }, + "type": "object" + }, + "AudioProcessingConfig": { + "description": "Configuration for how the input and output audio should be processed and delivered.", + "id": "AudioProcessingConfig", + "properties": { + "ambientSoundConfig": { + "$ref": "AmbientSoundConfig", + "description": "Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation." + }, + "bargeInConfig": { + "$ref": "BargeInConfig", + "description": "Optional. Configures the agent behavior for the user barge-in activities." + }, + "inactivityTimeout": { + "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", + "format": "google-duration", + "type": "string" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains \"en-us\" and \"en\", and the specified language code is \"en-gb\", then \"en\" configuration will be used. Note: Language code is case-insensitive.", + "type": "object" + } + }, + "type": "object" + }, + "AudioRecordingConfig": { + "description": "Configuration for how the audio interactions should be recorded.", + "id": "AudioRecordingConfig", + "properties": { + "gcsBucket": { + "description": "Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with \"gs://\". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "gcsPathPrefix": { + "description": "Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used.", + "type": "string" + } + }, + "type": "object" + }, + "BargeInConfig": { + "description": "Configuration for how the user barge-in activities should be handled.", + "id": "BargeInConfig", + "properties": { + "bargeInAwareness": { + "description": "Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.", + "type": "boolean" + }, + "disableBargeIn": { + "deprecated": true, + "description": "Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile.", + "type": "boolean" + } + }, + "type": "object" + }, + "BatchDeleteConversationsRequest": { + "description": "Request message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsRequest", + "properties": { + "conversations": { + "description": "Required. The resource names of the conversations to delete.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchDeleteConversationsResponse": { + "description": "Response message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsResponse", + "properties": { + "deletedConversations": { + "description": "The list of conversations that were successfully deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "errorMessages": { + "description": "Optional. A list of error messages associated with conversations that failed to be deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "failedConversations": { + "description": "The list of conversations that failed to be deleted.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BearerTokenConfig": { + "description": "Configurations for authentication with a bearer token.", + "id": "BearerTokenConfig", + "properties": { + "token": { + "description": "Required. The bearer token. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "BigQueryExportSettings": { + "description": "Settings to describe the BigQuery export behaviors for the app.", + "id": "BigQueryExportSettings", + "properties": { + "dataset": { + "description": "Optional. The BigQuery dataset to export the data to.", + "type": "string" + }, + "enabled": { + "description": "Optional. Indicates whether the BigQuery export is enabled.", + "type": "boolean" + }, + "project": { + "description": "Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "Blob": { + "description": "Represents a blob input or output in the conversation.", + "id": "Blob", + "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" + }, + "Callback": { + "description": "A callback defines the custom logic to be executed at various stages of agent interaction.", + "id": "Callback", + "properties": { + "description": { + "description": "Optional. Human-readable description of the callback.", + "type": "string" + }, + "disabled": { + "description": "Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent.", + "type": "boolean" + }, + "proactiveExecutionEnabled": { + "description": "Optional. If enabled, the callback will also be executed on intermediate model outputs. This setting only affects after model callback. **ENABLE WITH CAUTION**. Typically after model callback only needs to be executed after receiving all model responses. Enabling proactive execution may have negative implication on the execution cost and latency, and should only be enabled in rare situations.", + "type": "boolean" + }, + "pythonCode": { + "description": "Required. The python code to execute for the callback.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Changelog": { + "description": "Changelogs represent a change made to the app or to an resource within the app.", + "id": "Changelog", + "properties": { + "action": { + "description": "Output only. The action that was performed on the resource.", + "readOnly": true, + "type": "string" + }, + "author": { + "description": "Output only. Email address of the change author.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the change was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dependentResources": { + "description": "Output only. The dependent resources that were changed.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "description": { + "description": "Output only. Description of the change. which typically captures the changed fields in the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the change. It typically should be the display name of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the changelog. Format: `projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}`", + "type": "string" + }, + "newResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The new resource after the change.", + "readOnly": true, + "type": "object" + }, + "originalResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The original resource before the change.", + "readOnly": true, + "type": "object" + }, + "resource": { + "description": "Output only. The resource that was changed.", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. The type of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "sequenceNumber": { + "description": "Output only. The monotonically increasing sequence number of the changelog.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfile": { + "description": "A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.", + "id": "ChannelProfile", + "properties": { + "channelType": { + "description": "Optional. The type of the channel profile.", + "enum": [ + "UNKNOWN", + "WEB_UI", + "API", + "TWILIO", + "GOOGLE_TELEPHONY_PLATFORM", + "CONTACT_CENTER_AS_A_SERVICE", + "FIVE9" + ], + "enumDescriptions": [ + "Unknown channel type.", + "Web UI channel.", + "API channel.", + "Twilio channel.", + "Google Telephony Platform channel.", + "Contact Center as a Service (CCaaS) channel.", + "Five9 channel." + ], + "type": "string" + }, + "disableBargeInControl": { + "description": "Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.", + "type": "boolean" + }, + "disableDtmf": { + "description": "Optional. Whether to disable DTMF (dual-tone multi-frequency).", + "type": "boolean" + }, + "noiseSuppressionLevel": { + "description": "Optional. The noise suppression level of the channel profile. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "personaProperty": { + "$ref": "ChannelProfilePersonaProperty", + "description": "Optional. The persona property of the channel profile." + }, + "profileId": { + "description": "Optional. The unique identifier of the channel profile.", + "type": "string" + }, + "webWidgetConfig": { + "$ref": "ChannelProfileWebWidgetConfig", + "description": "Optional. The configuration for the web widget." + } + }, + "type": "object" + }, + "ChannelProfilePersonaProperty": { + "description": "Represents the persona property of a channel.", + "id": "ChannelProfilePersonaProperty", + "properties": { + "persona": { + "description": "Optional. The persona of the channel.", + "enum": [ + "UNKNOWN", + "CONCISE", + "CHATTY" + ], + "enumDescriptions": [ + "UNKNOWN persona.", + "The agent keeps the responses concise and to the point", + "The agent provides additional context, explanations, and details" + ], + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfig": { + "description": "Message for configuration for the web widget.", + "id": "ChannelProfileWebWidgetConfig", + "properties": { + "modality": { + "description": "Optional. The modality of the web widget.", + "enum": [ + "MODALITY_UNSPECIFIED", + "CHAT_AND_VOICE", + "VOICE_ONLY", + "CHAT_ONLY" + ], + "enumDescriptions": [ + "Unknown modality.", + "Widget supports both chat and voice input.", + "Widget supports only voice input.", + "Widget supports only chat input." + ], + "type": "string" + }, + "securitySettings": { + "$ref": "ChannelProfileWebWidgetConfigSecuritySettings", + "description": "Optional. The security settings of the web widget." + }, + "theme": { + "description": "Optional. The theme of the web widget.", + "enum": [ + "THEME_UNSPECIFIED", + "LIGHT", + "DARK" + ], + "enumDescriptions": [ + "Unknown theme.", + "Light theme.", + "Dark theme." + ], + "type": "string" + }, + "webWidgetTitle": { + "description": "Optional. The title of the web widget.", + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfigSecuritySettings": { + "description": "Security settings for the web widget.", + "id": "ChannelProfileWebWidgetConfigSecuritySettings", + "properties": { + "allowedOrigins": { + "description": "Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: \"https://example.com\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableOriginCheck": { + "description": "Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.", + "type": "boolean" + }, + "enablePublicAccess": { + "description": "Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.", + "type": "boolean" + }, + "enableRecaptcha": { + "description": "Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "Chunk": { + "description": "A chunk of content within a message.", + "id": "Chunk", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Agent transfer event." + }, + "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": "Image", + "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": "ToolCall", + "description": "Optional. Tool execution request." + }, + "toolResponse": { + "$ref": "ToolResponse", + "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" + }, + "Citations": { + "description": "Citations associated with the agent response.", + "id": "Citations", + "properties": { + "citedChunks": { + "description": "List of cited pieces of information.", + "items": { + "$ref": "CitationsCitedChunk" + }, + "type": "array" + } + }, + "type": "object" + }, + "CitationsCitedChunk": { + "description": "Piece of cited information.", + "id": "CitationsCitedChunk", + "properties": { + "text": { + "description": "Text used for citaiton.", + "type": "string" + }, + "title": { + "description": "Title of the cited document.", + "type": "string" + }, + "uri": { + "description": "URI used for citation.", + "type": "string" + } + }, + "type": "object" + }, + "ClientCertificateSettings": { + "description": "Settings for custom client certificates.", + "id": "ClientCertificateSettings", + "properties": { + "passphrase": { + "description": "Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "privateKey": { + "description": "Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "tlsCertificate": { + "description": "Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.", + "type": "string" + } + }, + "type": "object" + }, + "ClientFunction": { + "description": "Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent.", + "id": "ClientFunction", + "properties": { + "description": { + "description": "Optional. The function description.", + "type": "string" + }, + "name": { + "description": "Required. The function name.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The schema of the function parameters." + }, + "response": { + "$ref": "Schema", + "description": "Optional. The schema of the function response." + } + }, + "type": "object" + }, + "CloudLoggingSettings": { + "description": "Settings to describe the Cloud Logging behaviors for the app.", + "id": "CloudLoggingSettings", + "properties": { + "enableCloudLogging": { + "description": "Optional. Whether to enable Cloud Logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "CodeBlock": { + "description": "A code block to be executed instead of a real tool call.", + "id": "CodeBlock", + "properties": { + "pythonCode": { + "description": "Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorTool": { + "description": "A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview.", + "id": "ConnectorTool", + "properties": { + "action": { + "$ref": "Action", + "description": "Required. Action for the tool to use." + }, + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details." + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "description": { + "description": "Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + }, + "name": { + "description": "Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorToolset": { + "description": "A toolset that generates tools from an Integration Connectors Connection.", + "id": "ConnectorToolset", + "properties": { + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override" + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "connectorActions": { + "description": "Required. The list of connector actions/entity operations to generate tools for.", + "items": { + "$ref": "Action" + }, + "type": "array" + } + }, + "type": "object" + }, + "Conversation": { + "description": "A conversation represents an interaction between an end user and the CES app.", + "id": "Conversation", + "properties": { + "appVersion": { + "description": "Output only. The version of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "channelType": { + "deprecated": true, + "description": "DEPRECATED. Please use input_types instead.", + "enum": [ + "CHANNEL_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO", + "MULTIMODAL" + ], + "enumDescriptions": [ + "Unspecified channel type.", + "The conversation only contains text messages between the end user and the agent.", + "The conversation contains audio messages between the end user and the agent.", + "The conversation multi-modal messages (e.g. image) between the end user and the agent." + ], + "type": "string" + }, + "deployment": { + "description": "Output only. The deployment of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Timestamp when the conversation was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryAgent": { + "description": "Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "readOnly": true, + "type": "string" + }, + "inputTypes": { + "description": "Output only. The input types of the conversation.", + "items": { + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "INPUT_TYPE_TEXT", + "INPUT_TYPE_AUDIO", + "INPUT_TYPE_IMAGE", + "INPUT_TYPE_BLOB", + "INPUT_TYPE_TOOL_RESPONSE", + "INPUT_TYPE_VARIABLES" + ], + "enumDescriptions": [ + "Unspecified input type.", + "The input message is text.", + "The input message is audio.", + "The input message is image.", + "The input message is blob file.", + "The input message is client function tool response.", + "The input message are variables." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "languageCode": { + "description": "Output only. The language code of the conversation.", + "readOnly": true, + "type": "string" + }, + "messages": { + "deprecated": true, + "description": "Deprecated. Use turns instead.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "type": "string" + }, + "source": { + "description": "Output only. Indicate the source of the conversation.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Timestamp when the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turns": { + "description": "Required. The turns in the conversation.", + "items": { + "$ref": "ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversationLoggingSettings": { + "description": "Settings to describe the conversation logging behaviors for the app.", + "id": "ConversationLoggingSettings", + "properties": { + "disableConversationLogging": { + "description": "Optional. Whether to disable conversation logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConversationTurn": { + "description": "All information about a single turn in the conversation.", + "id": "ConversationTurn", + "properties": { + "messages": { + "description": "Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the action processing." + } + }, + "type": "object" + }, + "DataStore": { + "description": "A DataStore resource in Vertex AI Search.", + "id": "DataStore", + "properties": { + "connectorConfig": { + "$ref": "DataStoreConnectorConfig", + "description": "Output only. The connector config for the data store connection.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the data store was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the data store.", + "readOnly": true, + "type": "string" + }, + "documentProcessingMode": { + "description": "Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Full resource name of the DataStore. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "type": { + "description": "Output only. The type of the data store. This field is readonly and populated by the server.", + "enum": [ + "DATA_STORE_TYPE_UNSPECIFIED", + "PUBLIC_WEB", + "UNSTRUCTURED", + "FAQ", + "CONNECTOR" + ], + "enumDescriptions": [ + "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", + "A data store that contains public web content.", + "A data store that contains unstructured private data.", + "A data store that contains structured data used as FAQ.", + "A data store that is a connector to a first-party or a third-party service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreConnectorConfig": { + "description": "The connector config for the data store connection.", + "id": "DataStoreConnectorConfig", + "properties": { + "collection": { + "description": "Resource name of the collection the data store belongs to.", + "type": "string" + }, + "collectionDisplayName": { + "description": "Display name of the collection the data store belongs to.", + "type": "string" + }, + "dataSource": { + "description": "The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreSettings": { + "description": "Data store related settings for the app.", + "id": "DataStoreSettings", + "properties": { + "engines": { + "description": "Output only. The engines for the app.", + "items": { + "$ref": "DataStoreSettingsEngine" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreSettingsEngine": { + "description": "An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreSettingsEngine", + "properties": { + "name": { + "description": "Output only. The resource name of the engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the engine.", + "enum": [ + "TYPE_UNSPECIFIED", + "ENGINE_TYPE_SEARCH", + "ENGINE_TYPE_CHAT" + ], + "enumDescriptions": [ + "Unspecified engine type.", + "The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores added to the app will be added to this engine.", + "Chat engine type. The SOLUTION_TYPE_CHAT engine for the app. All connector data stores added to the app will be added to this engine." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreTool": { + "description": "Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreTool", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specification to boost certain documents.", + "items": { + "$ref": "DataStoreToolBoostSpecs" + }, + "type": "array" + }, + "dataStoreSource": { + "$ref": "DataStoreToolDataStoreSource", + "description": "Optional. Search within a single specific DataStore." + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "engineSource": { + "$ref": "DataStoreToolEngineSource", + "description": "Optional. Search within an Engine (potentially across multiple DataStores)." + }, + "filterParameterBehavior": { + "description": "Optional. The filter parameter behavior.", + "enum": [ + "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED", + "ALWAYS_INCLUDE", + "NEVER_INCLUDE" + ], + "enumDescriptions": [ + "Default filter behavior. Include filter parameter for connector datastores. For the rest of the datastore types, the filter input parameter is omitted.", + "Always include filter parameter for all datastore types.", + "The filter parameter is never included in the list of tool parameters, regardless of the datastore type." + ], + "type": "string" + }, + "modalityConfigs": { + "description": "Optional. The modality configs for the data store.", + "items": { + "$ref": "DataStoreToolModalityConfig" + }, + "type": "array" + }, + "name": { + "description": "Required. The data store tool name.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpec": { + "description": "Boost specification to boost certain documents.", + "id": "DataStoreToolBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpec": { + "description": "Boost specification for a condition.", + "id": "DataStoreToolBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY(\"en\", \"fr\"))", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecs": { + "description": "Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting.", + "id": "DataStoreToolBoostSpecs", + "properties": { + "dataStores": { + "description": "Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolDataStoreSource": { + "description": "Configuration for searching within a specific DataStore.", + "id": "DataStoreToolDataStoreSource", + "properties": { + "dataStore": { + "$ref": "DataStore", + "description": "Optional. The data store." + }, + "filter": { + "description": "Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolEngineSource": { + "description": "Configuration for searching within an Engine, potentially targeting specific DataStores.", + "id": "DataStoreToolEngineSource", + "properties": { + "dataStoreSources": { + "description": "Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine.", + "items": { + "$ref": "DataStoreToolDataStoreSource" + }, + "type": "array" + }, + "engine": { + "description": "Required. Full resource name of the Engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "type": "string" + }, + "filter": { + "description": "Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolGroundingConfig": { + "description": "Grounding configuration.", + "id": "DataStoreToolGroundingConfig", + "properties": { + "disabled": { + "description": "Optional. Whether grounding is disabled.", + "type": "boolean" + }, + "groundingLevel": { + "description": "Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolModalityConfig": { + "description": "If specified, will apply the given configuration for the specified modality.", + "id": "DataStoreToolModalityConfig", + "properties": { + "groundingConfig": { + "$ref": "DataStoreToolGroundingConfig", + "description": "Optional. The grounding configuration." + }, + "modalityType": { + "description": "Required. The modality type.", + "enum": [ + "MODALITY_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality type.", + "Text modality.", + "Audio modality." + ], + "type": "string" + }, + "rewriterConfig": { + "$ref": "DataStoreToolRewriterConfig", + "description": "Optional. The rewriter config." + }, + "summarizationConfig": { + "$ref": "DataStoreToolSummarizationConfig", + "description": "Optional. The summarization config." + } + }, + "type": "object" + }, + "DataStoreToolRewriterConfig": { + "description": "Rewriter configuration.", + "id": "DataStoreToolRewriterConfig", + "properties": { + "disabled": { + "description": "Optional. Whether the rewriter is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Required. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolSummarizationConfig": { + "description": "Summarization configuration.", + "id": "DataStoreToolSummarizationConfig", + "properties": { + "disabled": { + "description": "Optional. Whether summarization is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteEvaluationRunOperationMetadata": { + "description": "Operation metadata for EvaluationService.DeleteEvaluationRun.", + "id": "DeleteEvaluationRunOperationMetadata", + "properties": {}, + "type": "object" + }, + "Deployment": { + "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", + "id": "Deployment", + "properties": { + "appVersion": { + "description": "Required. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}", + "type": "string" + }, + "channelProfile": { + "$ref": "ChannelProfile", + "description": "Required. The channel profile used in the deployment." + }, + "createTime": { + "description": "Output only. Timestamp when this deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the deployment.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this deployment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EndSession": { + "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": "EndSession", + "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" + }, + "EndUserAuthConfig": { + "description": "End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`.", + "id": "EndUserAuthConfig", + "properties": { + "oauth2AuthCodeConfig": { + "$ref": "EndUserAuthConfigOauth2AuthCodeConfig", + "description": "Oauth 2.0 Authorization Code authentication." + }, + "oauth2JwtBearerConfig": { + "$ref": "EndUserAuthConfigOauth2JwtBearerConfig", + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication." + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2AuthCodeConfig": { + "description": "Oauth 2.0 Authorization Code authentication configuration.", + "id": "EndUserAuthConfigOauth2AuthCodeConfig", + "properties": { + "oauthToken": { + "description": "Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2JwtBearerConfig": { + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication configuration.", + "id": "EndUserAuthConfigOauth2JwtBearerConfig", + "properties": { + "clientKey": { + "description": "Required. Client parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "issuer": { + "description": "Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "subject": { + "description": "Required. Subject parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "Evaluation": { + "description": "An evaluation represents all of the information needed to simulate and evaluate an agent.", + "id": "Evaluation", + "properties": { + "aggregatedMetrics": { + "$ref": "AggregatedMetrics", + "description": "Output only. The aggregated metrics for this evaluation across all runs.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the evaluation.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. User-defined description of the evaluation.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the evaluation. Unique within an App.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationDatasets": { + "description": "Output only. List of evaluation datasets the evaluation belongs to. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "evaluationRuns": { + "description": "Output only. The EvaluationRuns that this Evaluation is associated with.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "golden": { + "$ref": "EvaluationGolden", + "description": "Optional. The golden steps to be evaluated." + }, + "invalid": { + "description": "Output only. Whether the evaluation is invalid. This can happen if an evaluation is referencing a tool, toolset, or agent that has since been deleted.", + "readOnly": true, + "type": "boolean" + }, + "lastCompletedResult": { + "$ref": "EvaluationResult", + "description": "Output only. The latest evaluation result for this evaluation.", + "readOnly": true + }, + "lastTenResults": { + "description": "Output only. The last 10 evaluation results for this evaluation. This is only populated if include_last_ten_results is set to true in the ListEvaluationsRequest or GetEvaluationRequest.", + "items": { + "$ref": "EvaluationResult" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "type": "string" + }, + "scenario": { + "$ref": "EvaluationScenario", + "description": "Optional. The config for a scenario." + }, + "tags": { + "description": "Optional. User defined tags to categorize the evaluation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationConfig": { + "description": "EvaluationConfig configures settings for running the evaluation.", + "id": "EvaluationConfig", + "properties": { + "evaluationChannel": { + "description": "Optional. The channel to evaluate.", + "enum": [ + "EVALUATION_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified evaluation channel.", + "Text-only evaluation channel.", + "Audio evaluation channel." + ], + "type": "string" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "deprecated": true, + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "deprecated": true, + "description": "Optional. Configuration for generating the output audio." + }, + "toolCallBehaviour": { + "description": "Optional. Specifies whether the evaluation should use real tool calls or fake tools.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationDataset": { + "description": "An evaluation dataset represents a set of evaluations that are grouped together basaed on shared tags.", + "id": "EvaluationDataset", + "properties": { + "aggregatedMetrics": { + "$ref": "AggregatedMetrics", + "description": "Output only. The aggregated metrics for this evaluation dataset across all runs.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation dataset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the evaluation dataset.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the evaluation dataset. Unique within an App.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluations": { + "description": "Optional. Evaluations that are included in this dataset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation dataset.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation dataset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationErrorInfo": { + "description": "Information about an error encountered during an evaluation execution.", + "id": "EvaluationErrorInfo", + "properties": { + "errorMessage": { + "description": "Output only. The error message.", + "readOnly": true, + "type": "string" + }, + "errorType": { + "description": "Output only. The type of error.", + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "RUNTIME_FAILURE", + "CONVERSATION_RETRIEVAL_FAILURE", + "METRIC_CALCULATION_FAILURE", + "EVALUATION_UPDATE_FAILURE", + "QUOTA_EXHAUSTED", + "USER_SIMULATION_FAILURE" + ], + "enumDescriptions": [ + "Unspecified error type.", + "Failure during runtime execution.", + "Failure to retrieve conversation from CES Runtime.", + "Failure to calculate a metric / outcome.", + "Failure to update the evaluation.", + "Ran out of quota.", + "Failure during user simulation." + ], + "readOnly": true, + "type": "string" + }, + "sessionId": { + "description": "Output only. The session ID for the conversation that caused the error.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationExpectation": { + "description": "An evaluation expectation represents a specific criteria to evaluate against.", + "id": "EvaluationExpectation", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the evaluation expectation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name. Must be unique within the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "llmCriteria": { + "$ref": "EvaluationExpectationLlmCriteria", + "description": "Optional. Evaluation criteria based on an LLM prompt." + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "type": "string" + }, + "tags": { + "description": "Optional. User-defined tags for expectations. Can be used to filter expectations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation expectation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationExpectationLlmCriteria": { + "description": "Configuration for LLM-based evaluation criteria.", + "id": "EvaluationExpectationLlmCriteria", + "properties": { + "prompt": { + "description": "Required. The prompt/instructions provided to the LLM judge.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationGolden": { + "description": "The steps required to replay a golden conversation.", + "id": "EvaluationGolden", + "properties": { + "evaluationExpectations": { + "description": "Optional. The evaluation expectations to evaluate the replayed conversation against. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "turns": { + "description": "Required. The golden turns required to replay a golden conversation.", + "items": { + "$ref": "EvaluationGoldenTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationGoldenExpectation": { + "description": "Represents a single, checkable requirement.", + "id": "EvaluationGoldenExpectation", + "properties": { + "agentResponse": { + "$ref": "Message", + "description": "Optional. Check that the agent responded with the correct response. The role \"agent\" is implied." + }, + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Check that the agent transferred the conversation to a different agent." + }, + "mockToolResponse": { + "$ref": "ToolResponse", + "description": "Optional. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + }, + "note": { + "description": "Optional. A note for this requirement, useful in reporting when specific checks fail. E.g., \"Check_Payment_Tool_Called\".", + "type": "string" + }, + "toolCall": { + "$ref": "ToolCall", + "description": "Optional. Check that a specific tool was called with the parameters." + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Optional. Check that a specific tool had the expected response." + }, + "updatedVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Check that the agent updated the session variables to the expected values. Used to also capture agent variable updates for golden evals.", + "type": "object" + } + }, + "type": "object" + }, + "EvaluationGoldenTurn": { + "description": "A golden turn defines a single turn in a golden conversation.", + "id": "EvaluationGoldenTurn", + "properties": { + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the golden turn for processing and maintaining audio information." + }, + "steps": { + "description": "Required. The steps required to replay a golden conversation.", + "items": { + "$ref": "EvaluationStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholds": { + "description": "Threshold settings for metrics in an Evaluation.", + "id": "EvaluationMetricsThresholds", + "properties": { + "goldenEvaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "description": "Optional. The golden evaluation metrics thresholds." + }, + "goldenHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "hallucinationMetricBehavior": { + "deprecated": true, + "description": "Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "scenarioHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for scenario evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds": { + "description": "Settings for golden evaluations.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "properties": { + "expectationLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "description": "Optional. The expectation level metrics thresholds." + }, + "turnLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "description": "Optional. The turn level metrics thresholds." + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds": { + "description": "Expectation level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "properties": { + "toolInvocationParameterCorrectnessThreshold": { + "description": "Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds": { + "description": "Turn level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "properties": { + "overallToolInvocationCorrectnessThreshold": { + "description": "Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + }, + "semanticSimilarityChannel": { + "description": "Optional. The semantic similarity channel to use for evaluation.", + "enum": [ + "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Metric unspecified. Defaults to TEXT.", + "Use text semantic similarity.", + "Use audio semantic similarity." + ], + "type": "string" + }, + "semanticSimilaritySuccessThreshold": { + "description": "Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationPersona": { + "description": "A persona represents an end user in an evaluation.", + "id": "EvaluationPersona", + "properties": { + "description": { + "description": "Optional. The description of the persona.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the persona. Unique within an app.", + "type": "string" + }, + "name": { + "description": "Required. The unique identifier of the persona. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}`", + "type": "string" + }, + "personality": { + "description": "Required. An instruction for the agent on how to behave in the evaluation.", + "type": "string" + }, + "speechConfig": { + "$ref": "EvaluationPersonaSpeechConfig", + "description": "Optional. Configuration for how the persona sounds (TTS settings)." + } + }, + "type": "object" + }, + "EvaluationPersonaSpeechConfig": { + "description": "Configuration for Text-to-Speech generation.", + "id": "EvaluationPersonaSpeechConfig", + "properties": { + "environment": { + "description": "Optional. The simulated audio environment.", + "enum": [ + "BACKGROUND_ENVIRONMENT_UNSPECIFIED", + "CALL_CENTER", + "TRAFFIC", + "KIDS_NOISE", + "CAFE" + ], + "enumDescriptions": [ + "Background environment unspecified.", + "Call center environment.", + "Traffic noise environment.", + "Kids noise environment.", + "Cafe environment." + ], + "type": "string" + }, + "speakingRate": { + "description": "Optional. The speaking rate. 1.0 is normal. Lower is slower (e.g., 0.8), higher is faster (e.g., 1.5). Useful for testing how the agent handles fast talkers.", + "format": "double", + "type": "number" + }, + "voiceId": { + "description": "Optional. The specific voice identifier/accent to use. Example: \"en-US-Wavenet-D\" or \"en-GB-Standard-A\"", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResult": { + "description": "An evaluation result represents the output of running an Evaluation.", + "id": "EvaluationResult", + "properties": { + "appVersion": { + "description": "Output only. The app version used to generate the conversation that resulted in this result. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "appVersionDisplayName": { + "description": "Output only. The display name of the `app_version` that the evaluation ran against.", + "readOnly": true, + "type": "string" + }, + "changelog": { + "description": "Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "readOnly": true, + "type": "string" + }, + "changelogCreateTime": { + "description": "Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Output only. The configuration used in the evaluation run that resulted in this result.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation result was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the Evaluation Result. Unique within an Evaluation. By default, it has the following format: \" result - \".", + "type": "string" + }, + "error": { + "$ref": "Status", + "deprecated": true, + "description": "Output only. Deprecated: Use `error_info` instead. Errors encountered during execution.", + "readOnly": true + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Error information for the evaluation result.", + "readOnly": true + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Output only. The evaluation thresholds for the result.", + "readOnly": true + }, + "evaluationRun": { + "description": "Output only. The evaluation run that produced this result. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "readOnly": true, + "type": "string" + }, + "evaluationStatus": { + "description": "Output only. The outcome of the evaluation. Only populated if execution_state is COMPLETE.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "executionState": { + "description": "Output only. The state of the evaluation result execution.", + "enum": [ + "EXECUTION_STATE_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Evaluation result execution state is not specified.", + "Evaluation result execution is running.", + "Evaluation result execution has completed.", + "Evaluation result execution failed due to an internal error." + ], + "readOnly": true, + "type": "string" + }, + "goldenResult": { + "$ref": "EvaluationResultGoldenResult", + "description": "Output only. The outcome of a golden evaluation.", + "readOnly": true + }, + "goldenRunMethod": { + "description": "Output only. The method used to run the golden evaluation.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "readOnly": true, + "type": "string" + }, + "initiatedBy": { + "description": "Output only. The user who initiated the evaluation run that resulted in this result.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the evaluation result. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`", + "type": "string" + }, + "persona": { + "$ref": "EvaluationPersona", + "description": "Output only. The persona used to generate the conversation for the evaluation result.", + "readOnly": true + }, + "scenarioResult": { + "$ref": "EvaluationResultScenarioResult", + "description": "Output only. The outcome of a scenario evaluation.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultEvaluationExpectationResult": { + "description": "The result of a single evaluation expectation.", + "id": "EvaluationResultEvaluationExpectationResult", + "properties": { + "evaluationExpectation": { + "description": "Output only. The evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "readOnly": true, + "type": "string" + }, + "explanation": { + "description": "Output only. The explanation for the result.", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the evaluation expectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "prompt": { + "description": "Output only. The prompt that was used for the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultGoldenExpectationOutcome": { + "description": "Specifies the expectation and the result of that expectation.", + "id": "EvaluationResultGoldenExpectationOutcome", + "properties": { + "expectation": { + "$ref": "EvaluationGoldenExpectation", + "description": "Output only. The expectation that was evaluated.", + "readOnly": true + }, + "observedAgentResponse": { + "$ref": "Message", + "description": "Output only. The result of the agent response expectation.", + "readOnly": true + }, + "observedAgentTransfer": { + "$ref": "AgentTransfer", + "description": "Output only. The result of the agent transfer expectation.", + "readOnly": true + }, + "observedToolCall": { + "$ref": "ToolCall", + "description": "Output only. The result of the tool call expectation.", + "readOnly": true + }, + "observedToolResponse": { + "$ref": "ToolResponse", + "description": "Output only. The result of the tool response expectation.", + "readOnly": true + }, + "outcome": { + "description": "Output only. The outcome of the expectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "semanticSimilarityResult": { + "$ref": "EvaluationResultSemanticSimilarityResult", + "deprecated": true, + "description": "Output only. The result of the semantic similarity check.", + "readOnly": true + }, + "toolInvocationResult": { + "$ref": "EvaluationResultGoldenExpectationOutcomeToolInvocationResult", + "description": "Output only. The result of the tool invocation check.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultGoldenExpectationOutcomeToolInvocationResult": { + "description": "The result of the tool invocation check.", + "id": "EvaluationResultGoldenExpectationOutcomeToolInvocationResult", + "properties": { + "explanation": { + "description": "Output only. A free text explanation for the tool invocation result.", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the tool invocation check. This is determined by comparing the parameter_correctness_score to the threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "parameterCorrectnessScore": { + "description": "Output only. The tool invocation parameter correctness score. This indicates the percent of parameters from the expected tool call that were also present in the actual tool call.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "EvaluationResultGoldenResult": { + "description": "The result of a golden evaluation.", + "id": "EvaluationResultGoldenResult", + "properties": { + "evaluationExpectationResults": { + "description": "Output only. The results of the evaluation expectations.", + "items": { + "$ref": "EvaluationResultEvaluationExpectationResult" + }, + "readOnly": true, + "type": "array" + }, + "turnReplayResults": { + "description": "Output only. The result of running each turn of the golden conversation.", + "items": { + "$ref": "EvaluationResultGoldenResultTurnReplayResult" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationResultGoldenResultTurnReplayResult": { + "description": "The result of running a single turn of the golden conversation.", + "id": "EvaluationResultGoldenResultTurnReplayResult", + "properties": { + "conversation": { + "description": "Output only. The conversation that was generated for this turn.", + "readOnly": true, + "type": "string" + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Information about the error that occurred during this turn.", + "readOnly": true + }, + "expectationOutcome": { + "description": "Output only. The outcome of each expectation.", + "items": { + "$ref": "EvaluationResultGoldenExpectationOutcome" + }, + "readOnly": true, + "type": "array" + }, + "hallucinationResult": { + "$ref": "EvaluationResultHallucinationResult", + "description": "Output only. The result of the hallucination check.", + "readOnly": true + }, + "overallToolInvocationResult": { + "$ref": "EvaluationResultOverallToolInvocationResult", + "description": "Output only. The result of the overall tool invocation check.", + "readOnly": true + }, + "semanticSimilarityResult": { + "$ref": "EvaluationResultSemanticSimilarityResult", + "description": "Output only. The result of the semantic similarity check.", + "readOnly": true + }, + "spanLatencies": { + "description": "Output only. The latency of spans in the turn.", + "items": { + "$ref": "EvaluationResultSpanLatency" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencies": { + "description": "Output only. The latency of each tool call in the turn.", + "items": { + "$ref": "EvaluationResultToolCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "toolInvocationScore": { + "deprecated": true, + "description": "Output only. Deprecated. Use OverallToolInvocationResult instead.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "toolOrderedInvocationScore": { + "description": "Output only. The overall tool ordered invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked in the expected order.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "turnLatency": { + "description": "Output only. Duration of the turn.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultHallucinationResult": { + "description": "The result of the hallucination check for a single turn.", + "id": "EvaluationResultHallucinationResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the hallucination score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: Justified Score 0: Not Justified Score -1: No Claim To Assess", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The hallucination score. Can be -1, 0, 1.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultOverallToolInvocationResult": { + "description": "The result of the overall tool invocation check.", + "id": "EvaluationResultOverallToolInvocationResult", + "properties": { + "outcome": { + "description": "Output only. The outcome of the tool invocation check. This is determined by comparing the tool_invocation_score to the overall_tool_invocation_correctness_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "toolInvocationScore": { + "description": "The overall tool invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationResultScenarioExpectationOutcome": { + "description": "The outcome of a scenario expectation.", + "id": "EvaluationResultScenarioExpectationOutcome", + "properties": { + "expectation": { + "$ref": "EvaluationScenarioExpectation", + "description": "Output only. The expectation that was evaluated.", + "readOnly": true + }, + "observedAgentResponse": { + "$ref": "Message", + "description": "Output only. The observed agent response.", + "readOnly": true + }, + "observedToolCall": { + "$ref": "EvaluationResultScenarioExpectationOutcomeObservedToolCall", + "description": "Output only. The observed tool call.", + "readOnly": true + }, + "outcome": { + "description": "Output only. The outcome of the ScenarioExpectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultScenarioExpectationOutcomeObservedToolCall": { + "description": "The observed tool call and response.", + "id": "EvaluationResultScenarioExpectationOutcomeObservedToolCall", + "properties": { + "toolCall": { + "$ref": "ToolCall", + "description": "Output only. The observed tool call.", + "readOnly": true + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Output only. The observed tool response.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultScenarioResult": { + "description": "The outcome of a scenario evaluation.", + "id": "EvaluationResultScenarioResult", + "properties": { + "allExpectationsSatisfied": { + "description": "Output only. Whether all expectations were satisfied for this turn.", + "readOnly": true, + "type": "boolean" + }, + "conversation": { + "description": "Output only. The conversation that was generated in the scenario.", + "readOnly": true, + "type": "string" + }, + "evaluationExpectationResults": { + "description": "Output only. The results of the evaluation expectations.", + "items": { + "$ref": "EvaluationResultEvaluationExpectationResult" + }, + "readOnly": true, + "type": "array" + }, + "expectationOutcomes": { + "description": "Output only. The outcome of each expectation.", + "items": { + "$ref": "EvaluationResultScenarioExpectationOutcome" + }, + "readOnly": true, + "type": "array" + }, + "hallucinationResult": { + "description": "Output only. The result of the hallucination check. There will be one hallucination result for each turn in the conversation.", + "items": { + "$ref": "EvaluationResultHallucinationResult" + }, + "readOnly": true, + "type": "array" + }, + "rubricOutcomes": { + "description": "Output only. The outcome of the rubric.", + "items": { + "$ref": "EvaluationResultScenarioRubricOutcome" + }, + "readOnly": true, + "type": "array" + }, + "spanLatencies": { + "description": "Output only. The latency of spans in the conversation.", + "items": { + "$ref": "EvaluationResultSpanLatency" + }, + "readOnly": true, + "type": "array" + }, + "task": { + "description": "Output only. The task that was used when running the scenario for this result.", + "readOnly": true, + "type": "string" + }, + "taskCompleted": { + "description": "Output only. Whether the task was completed for this turn. This is a composite of all expectations satisfied, no hallucinations, and user goal satisfaction.", + "readOnly": true, + "type": "boolean" + }, + "taskCompletionResult": { + "$ref": "EvaluationResultTaskCompletionResult", + "deprecated": true, + "description": "Output only. The result of the task completion check.", + "readOnly": true + }, + "toolCallLatencies": { + "description": "Output only. The latency of each tool call execution in the conversation.", + "items": { + "$ref": "EvaluationResultToolCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "userFacts": { + "description": "Output only. The user facts that were used by the scenario for this result.", + "items": { + "$ref": "EvaluationScenarioUserFact" + }, + "readOnly": true, + "type": "array" + }, + "userGoalSatisfactionResult": { + "$ref": "EvaluationResultUserGoalSatisfactionResult", + "description": "Output only. The result of the user goal satisfaction check.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultScenarioRubricOutcome": { + "description": "The outcome of the evaluation against the rubric.", + "id": "EvaluationResultScenarioRubricOutcome", + "properties": { + "rubric": { + "description": "Output only. The rubric that was used to evaluate the conversation.", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The score of the conversation against the rubric.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "scoreExplanation": { + "description": "Output only. The rater's response to the rubric.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultSemanticSimilarityResult": { + "description": "The result of the semantic similarity check.", + "id": "EvaluationResultSemanticSimilarityResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the semantic similarity score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 4: Fully Consistent Score 3: Mostly Consistent Score 2: Partially Consistent (Minor Omissions) Score 1: Largely Inconsistent (Major Omissions) Score 0: Completely Inconsistent / Contradictory", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the semantic similarity check. This is determined by comparing the score to the semantic_similarity_success_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultSpanLatency": { + "description": "The latency of a span execution.", + "id": "EvaluationResultSpanLatency", + "properties": { + "callback": { + "description": "Output only. The name of the user callback span.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the span. Applicable to tool and guardrail spans.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "executionLatency": { + "description": "Output only. The latency of span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "Output only. The name of the LLM span.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "Output only. The resource name of the guardrail or tool spans.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "toolset": { + "$ref": "ToolsetTool", + "description": "Output only. The toolset tool identifier.", + "readOnly": true + }, + "type": { + "description": "Output only. The type of span.", + "enum": [ + "TYPE_UNSPECIFIED", + "TOOL", + "USER_CALLBACK", + "GUARDRAIL", + "LLM" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Tool call span.", + "User callback span.", + "Guardrail span.", + "LLM span." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultTaskCompletionResult": { + "description": "The result of the task completion check for the conversation.", + "id": "EvaluationResultTaskCompletionResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the task completion score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: Task Completed Score 0: Task Not Completed Score -1: User Goal Undefined", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The task completion score. Can be -1, 0, 1", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultToolCallLatency": { + "description": "The latency of a tool call execution.", + "id": "EvaluationResultToolCallLatency", + "properties": { + "displayName": { + "description": "Output only. The display name of the tool.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the tool call execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "executionLatency": { + "description": "Output only. The latency of the tool call execution.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the tool call execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "tool": { + "description": "Output only. The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultUserGoalSatisfactionResult": { + "description": "The result of a user goal satisfaction check for a conversation.", + "id": "EvaluationResultUserGoalSatisfactionResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the user task satisfaction score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: User Task Satisfied Score 0: User Task Not Satisfied Score -1: User Task Unspecified", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The user task satisfaction score. Can be -1, 0, 1.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationRun": { + "description": "An evaluation run represents an all the evaluation results from an evaluation execution.", + "id": "EvaluationRun", + "properties": { + "appVersion": { + "description": "Output only. The app version to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "appVersionDisplayName": { + "description": "Output only. The display name of the `app_version` that the evaluation ran against.", + "readOnly": true, + "type": "string" + }, + "changelog": { + "description": "Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "readOnly": true, + "type": "string" + }, + "changelogCreateTime": { + "description": "Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Output only. The configuration used in the run.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation run was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. User-defined display name of the evaluation run. default: \" run - \".", + "type": "string" + }, + "error": { + "$ref": "Status", + "deprecated": true, + "description": "Output only. Deprecated: Use error_info instead. Errors encountered during execution.", + "readOnly": true + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Error information for the evaluation run.", + "readOnly": true + }, + "evaluationDataset": { + "description": "Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "readOnly": true, + "type": "string" + }, + "evaluationResults": { + "description": "Output only. The evaluation results that are part of this run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "evaluationRunSummaries": { + "additionalProperties": { + "$ref": "EvaluationRunEvaluationRunSummary" + }, + "description": "Output only. Map of evaluation name to EvaluationRunSummary.", + "readOnly": true, + "type": "object" + }, + "evaluationType": { + "description": "Output only. The type of the evaluations in this run.", + "enum": [ + "EVALUATION_TYPE_UNSPECIFIED", + "GOLDEN", + "SCENARIO", + "MIXED" + ], + "enumDescriptions": [ + "Evaluation type is not specified.", + "Golden evaluation.", + "Scenario evaluation.", + "Indicates the run includes a mix of golden and scenario evaluations." + ], + "readOnly": true, + "type": "string" + }, + "evaluations": { + "description": "Output only. The evaluations that are part of this run. The list may contain evaluations of either type. This field is mutually exclusive with `evaluation_dataset`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "goldenRunMethod": { + "description": "Output only. The method used to run the evaluation.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "readOnly": true, + "type": "string" + }, + "initiatedBy": { + "description": "Output only. The user who initiated the evaluation run.", + "readOnly": true, + "type": "string" + }, + "latencyReport": { + "$ref": "LatencyReport", + "description": "Output only. Latency report for the evaluation run.", + "readOnly": true + }, + "name": { + "description": "Identifier. The unique identifier of the evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "type": "string" + }, + "optimizationConfig": { + "$ref": "OptimizationConfig", + "description": "Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run." + }, + "personaRunConfigs": { + "description": "Output only. The configuration to use for the run per persona.", + "items": { + "$ref": "PersonaRunConfig" + }, + "readOnly": true, + "type": "array" + }, + "progress": { + "$ref": "EvaluationRunProgress", + "description": "Output only. The progress of the evaluation run.", + "readOnly": true + }, + "runCount": { + "description": "Output only. The number of times the evaluations inside the run were run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "scheduledEvaluationRun": { + "description": "Output only. The scheduled evaluation run resource name that created this evaluation run. This field is only set if the evaluation run was created by a scheduled evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the evaluation run.", + "enum": [ + "EVALUATION_RUN_STATE_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Evaluation run state is not specified.", + "Evaluation run is running.", + "Evaluation run has completed.", + "The evaluation run has an error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationRunEvaluationRunSummary": { + "description": "Contains the summary of passed and failed result counts for a specific evaluation in an evaluation run.", + "id": "EvaluationRunEvaluationRunSummary", + "properties": { + "errorCount": { + "description": "Output only. Number of error results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "failedCount": { + "description": "Output only. Number of failed results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passedCount": { + "description": "Output only. Number of passed results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationRunProgress": { + "description": "The progress of the evaluation run.", + "id": "EvaluationRunProgress", + "properties": { + "completedCount": { + "description": "Output only. Number of evaluation results that finished successfully. (EvaluationResult.execution_state is COMPLETED).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "errorCount": { + "description": "Output only. Number of evaluation results that failed to execute. (EvaluationResult.execution_state is ERROR).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "failedCount": { + "description": "Output only. Number of completed evaluation results with an outcome of FAIL. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is FAIL).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passedCount": { + "description": "Output only. Number of completed evaluation results with an outcome of PASS. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is PASS).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "totalCount": { + "description": "Output only. Total number of evaluation results in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationScenario": { + "description": "The config for a scenario", + "id": "EvaluationScenario", + "properties": { + "evaluationExpectations": { + "description": "Optional. The evaluation expectations to evaluate the conversation produced by the simulation against. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxTurns": { + "description": "Optional. The maximum number of turns to simulate. If not specified, the simulation will continue until the task is complete.", + "format": "int32", + "type": "integer" + }, + "rubrics": { + "description": "Required. The rubrics to score the scenario against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scenarioExpectations": { + "description": "Required. The ScenarioExpectations to evaluate the conversation produced by the user simulation.", + "items": { + "$ref": "EvaluationScenarioExpectation" + }, + "type": "array" + }, + "task": { + "description": "Required. The task to be targeted by the scenario.", + "type": "string" + }, + "taskCompletionBehavior": { + "deprecated": true, + "description": "Optional. Deprecated. Use user_goal_behavior instead.", + "enum": [ + "TASK_COMPLETION_BEHAVIOR_UNSPECIFIED", + "TASK_SATISFIED", + "TASK_REJECTED" + ], + "enumDescriptions": [ + "Behavior unspecified. Will default to TASK_SATISFIED.", + "The user task should be completed successfully.", + "The user task should be rejected." + ], + "type": "string" + }, + "userFacts": { + "description": "Optional. The user facts to be used by the scenario.", + "items": { + "$ref": "EvaluationScenarioUserFact" + }, + "type": "array" + }, + "userGoalBehavior": { + "description": "Optional. The expected behavior of the user goal.", + "enum": [ + "USER_GOAL_BEHAVIOR_UNSPECIFIED", + "USER_GOAL_SATISFIED", + "USER_GOAL_REJECTED", + "USER_GOAL_IGNORED" + ], + "enumDescriptions": [ + "Behavior unspecified. Will default to USER_GOAL_SATISFIED.", + "The user goal should be completed successfully.", + "The user goal should be rejected.", + "Ignore the user goal status." + ], + "type": "string" + }, + "variableOverrides": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Variables / Session Parameters as context for the session, keyed by variable names. Members of this struct will override any default values set by the system. Note, these are different from user facts, which are facts known to the user. Variables are parameters known to the agent: i.e. MDN (phone number) passed by the telephony system.", + "type": "object" + } + }, + "type": "object" + }, + "EvaluationScenarioExpectation": { + "description": "The expectation to evaluate the conversation produced by the simulation.", + "id": "EvaluationScenarioExpectation", + "properties": { + "agentResponse": { + "$ref": "Message", + "description": "Optional. The agent response to be evaluated." + }, + "toolExpectation": { + "$ref": "EvaluationScenarioExpectationToolExpectation", + "description": "Optional. The tool call and response pair to be evaluated." + } + }, + "type": "object" + }, + "EvaluationScenarioExpectationToolExpectation": { + "description": "The tool call and response pair to be evaluated.", + "id": "EvaluationScenarioExpectationToolExpectation", + "properties": { + "expectedToolCall": { + "$ref": "ToolCall", + "description": "Required. The expected tool call, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + }, + "mockToolResponse": { + "$ref": "ToolResponse", + "description": "Required. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + } + }, + "type": "object" + }, + "EvaluationScenarioUserFact": { + "description": "Facts about the user as a key value pair.", + "id": "EvaluationScenarioUserFact", + "properties": { + "name": { + "description": "Required. The name of the user fact.", + "type": "string" + }, + "value": { + "description": "Required. The value of the user fact.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationSettings": { + "description": "Settings for evaluation.", + "id": "EvaluationSettings", + "properties": { + "goldenEvaluationToolCallBehaviour": { + "description": "Optional. Configures the default tool call behaviour for golden evaluations.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + }, + "goldenRunMethod": { + "description": "Optional. The default method used to run golden evaluations. This will be used if no golden_run_method is specified in the RunEvaluationRequest.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "type": "string" + }, + "scenarioConversationInitiator": { + "description": "Optional. Who starts the conversation in a scenario evaluation.", + "enum": [ + "SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED", + "USER", + "AGENT" + ], + "enumDescriptions": [ + "Unspecified. Defaults to USER.", + "The user starts the conversation.", + "The agent starts the conversation." + ], + "type": "string" + }, + "scenarioEvaluationToolCallBehaviour": { + "description": "Optional. Configures the default tool call behaviour for scenario evaluations.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationStep": { + "description": "A step defines a singular action to happen during the evaluation.", + "id": "EvaluationStep", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Transfer the conversation to a different agent." + }, + "expectation": { + "$ref": "EvaluationGoldenExpectation", + "description": "Optional. Executes an expectation on the current turn." + }, + "userInput": { + "$ref": "SessionInput", + "description": "Optional. User input for the conversation." + } + }, + "type": "object" + }, + "Event": { + "description": "Event input.", + "id": "Event", + "properties": { + "event": { + "description": "Required. The name of the event.", + "type": "string" + } + }, + "type": "object" + }, + "Example": { + "description": "An example represents a sample conversation between the user and the agent(s).", + "id": "Example", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the example was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the example.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the example.", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "invalid": { + "description": "Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.", + "readOnly": true, + "type": "boolean" + }, + "messages": { + "description": "Optional. The collection of messages that make up the conversation.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the example was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExecuteToolRequest": { + "description": "Request message for ToolService.ExecuteTool.", + "id": "ExecuteToolRequest", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "ExecuteToolResponse": { + "description": "Response message for ToolService.ExecuteTool.", + "id": "ExecuteToolResponse", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that got executed." + } + }, + "type": "object" + }, + "ExportAppRequest": { + "description": "Request message for AgentService.ExportApp.", + "id": "ExportAppRequest", + "properties": { + "exportFormat": { + "description": "Required. The format to export the app in.", + "enum": [ + "EXPORT_FORMAT_UNSPECIFIED", + "JSON", + "YAML" + ], + "enumDescriptions": [ + "The export format is unspecified.", + "The export format is JSON.", + "The export format is YAML." + ], + "type": "string" + }, + "gcsUri": { + "description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object.", + "type": "string" + } + }, + "type": "object" + }, + "ExportAppResponse": { + "description": "Response message for AgentService.ExportApp.", + "id": "ExportAppResponse", + "properties": { + "appContent": { + "description": "App folder compressed as a zip file.", + "format": "byte", + "type": "string" + }, + "appUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported.", + "type": "string" + } + }, + "type": "object" + }, + "ExpressionCondition": { + "description": "Expression condition based on session state.", + "id": "ExpressionCondition", + "properties": { + "expression": { + "description": "Required. The string representation of cloud.api.Expression condition.", + "type": "string" + } + }, + "type": "object" + }, + "FileSearchTool": { + "description": "The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results.", + "id": "FileSearchTool", + "properties": { + "corpusType": { + "description": "Optional. The type of the corpus. Default is FULLY_MANAGED.", + "enum": [ + "CORPUS_TYPE_UNSPECIFIED", + "USER_OWNED", + "FULLY_MANAGED" + ], + "enumDescriptions": [ + "Unspecified corpus type.", + "The corpus is created and owned by the user.", + "The corpus is created by the agent." + ], + "type": "string" + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "fileCorpus": { + "description": "Optional. The corpus where files are stored. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}", + "type": "string" + }, + "name": { + "description": "Required. The tool name.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateAppResourceResponse": { + "description": "Response message for AgentService.GenerateAppResource.", + "id": "GenerateAppResourceResponse", + "properties": { + "agent": { + "$ref": "Agent", + "description": "Agent generated by the LLM assistant." + }, + "appResources": { + "$ref": "GenerateAppResourceResponseAppResources", + "description": "The app resources generated by the LLM assistant." + }, + "appSnapshot": { + "$ref": "AppSnapshot", + "description": "App snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant." + }, + "evaluations": { + "$ref": "GenerateAppResourceResponseEvaluations", + "description": "Evaluations generated by the LLM assistant." + }, + "generateResultInfo": { + "$ref": "GenerateAppResourceResponseGenerateResultInfo", + "description": "Additional information about the generated result." + }, + "tools": { + "$ref": "GenerateAppResourceResponseTools", + "description": "The list of tools generated by the LLM assistant." + }, + "toolset": { + "$ref": "Toolset", + "description": "Toolset generated by the LLM assistant. Supports Open API toolset schema generation." + } + }, + "type": "object" + }, + "GenerateAppResourceResponseAppResources": { + "description": "The list of app resources generated by the LLM assistant.", + "id": "GenerateAppResourceResponseAppResources", + "properties": { + "appSnapshot": { + "$ref": "AppSnapshot", + "description": "The app snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant." + }, + "evaluations": { + "description": "The list of evaluations generated by the LLM assistant.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseEvaluations": { + "description": "The list of evaluations generated by the LLM assistant.", + "id": "GenerateAppResourceResponseEvaluations", + "properties": { + "evaluations": { + "description": "The list of generated evaluations.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseGenerateResultInfo": { + "description": "This provides additional information about the generated result.", + "id": "GenerateAppResourceResponseGenerateResultInfo", + "properties": { + "explanation": { + "description": "An explanation of the changes in the generated resource.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseTools": { + "description": "The list of tools generated by the LLM assistant.", + "id": "GenerateAppResourceResponseTools", + "properties": { + "tools": { + "description": "The list of tools generated by the LLM assistant.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateChatTokenRequest": { + "description": "Request message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenRequest", + "properties": { + "deployment": { + "description": "Required. The deployment of the app to use for the session. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "recaptchaToken": { + "description": "Optional. The reCAPTCHA token generated by the client-side chat widget.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenResponse": { + "description": "Response message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenResponse", + "properties": { + "chatToken": { + "description": "The session scoped token for chat widget to authenticate with Session APIs.", + "type": "string" + }, + "expireTime": { + "description": "The time at which the chat token expires.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GenerateEvaluationOperationMetadata": { + "description": "Operation metadata for EvaluationService.GenerateEvaluation.", + "id": "GenerateEvaluationOperationMetadata", + "properties": {}, + "type": "object" + }, + "GenerateEvaluationRequest": { + "description": "Request message for EvaluationService.GenerateEvaluation.", + "id": "GenerateEvaluationRequest", + "properties": { + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all sources will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchSuggestions": { + "description": "Search suggestions from Google Search Tool.", + "id": "GoogleSearchSuggestions", + "properties": { + "htmls": { + "description": "Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "List of queries used to perform the google search along with the search result URIs forming the search suggestions.", + "items": { + "$ref": "WebSearchQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchTool": { + "description": "Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.", + "id": "GoogleSearchTool", + "properties": { + "contextUrls": { + "description": "Optional. Content will be fetched directly from these URLs for context and grounding. Example: \"https://example.com/path.html\". A maximum of 20 URLs are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Optional. Description of the tool's purpose.", + "type": "string" + }, + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. Example: \"example.com\". A maximum of 2000 domains can be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of the tool.", + "type": "string" + }, + "preferredDomains": { + "description": "Optional. Specifies domains to restrict search results to. Example: \"example.com\", \"another.site\". A maximum of 20 domains can be specified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promptConfig": { + "$ref": "GoogleSearchToolPromptConfig", + "description": "Optional. Prompt instructions passed to planner on how the search results should be processed for text and voice." + } + }, + "type": "object" + }, + "GoogleSearchToolPromptConfig": { + "description": "Prompt settings used by the model when processing or summarizing the google search results.", + "id": "GoogleSearchToolPromptConfig", + "properties": { + "textPrompt": { + "description": "Optional. Defines the prompt used for the system instructions when interacting with the agent in chat conversations. If not set, default prompt will be used.", + "type": "string" + }, + "voicePrompt": { + "description": "Optional. Defines the prompt used for the system instructions when interacting with the agent in voice conversations. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "Guardrail": { + "description": "Guardrail contains a list of checks and balances to keep the agents safe and secure.", + "id": "Guardrail", + "properties": { + "action": { + "$ref": "TriggerAction", + "description": "Optional. Action to take when the guardrail is triggered." + }, + "codeCallback": { + "$ref": "GuardrailCodeCallback", + "description": "Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution." + }, + "contentFilter": { + "$ref": "GuardrailContentFilter", + "description": "Optional. Guardrail that bans certain content from being used in the conversation." + }, + "createTime": { + "description": "Output only. Timestamp when the guardrail was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the guardrail.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the guardrail.", + "type": "string" + }, + "enabled": { + "description": "Optional. Whether the guardrail is enabled.", + "type": "boolean" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "llmPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification." + }, + "llmPromptSecurity": { + "$ref": "GuardrailLlmPromptSecurity", + "description": "Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification." + }, + "modelSafety": { + "$ref": "GuardrailModelSafety", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings." + }, + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the guardrail was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailCodeCallback": { + "description": "Guardrail that blocks the conversation based on the code callbacks provided.", + "id": "GuardrailCodeCallback", + "properties": { + "afterAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "afterModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + } + }, + "type": "object" + }, + "GuardrailContentFilter": { + "description": "Guardrail that bans certain content from being used in the conversation.", + "id": "GuardrailContentFilter", + "properties": { + "bannedContents": { + "description": "Optional. List of banned phrases. Applies to both user inputs and agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInAgentResponse": { + "description": "Optional. List of banned phrases. Applies only to agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInUserInput": { + "description": "Optional. List of banned phrases. Applies only to user inputs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disregardDiacritics": { + "description": "Optional. If true, diacritics are ignored during matching.", + "type": "boolean" + }, + "matchType": { + "description": "Required. Match type for the content filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH", + "REGEXP_MATCH" + ], + "enumDescriptions": [ + "Match type is not specified.", + "Content is matched for substrings character by character.", + "Content only matches if the pattern found in the text is surrounded by word delimiters. Banned phrases can also contain word delimiters.", + "Content is matched using regular expression syntax." + ], + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPolicy": { + "description": "Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.", + "id": "GuardrailLlmPolicy", + "properties": { + "allowShortUtterance": { + "description": "Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped.", + "type": "boolean" + }, + "failOpen": { + "description": "Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail.", + "type": "boolean" + }, + "maxConversationMessages": { + "description": "Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used.", + "format": "int32", + "type": "integer" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Model settings." + }, + "policyScope": { + "description": "Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond.", + "enum": [ + "POLICY_SCOPE_UNSPECIFIED", + "USER_QUERY", + "AGENT_RESPONSE", + "USER_QUERY_AND_AGENT_RESPONSE" + ], + "enumDescriptions": [ + "Policy scope is not specified.", + "Policy check is triggered on user input.", + "Policy check is triggered on agent response. Applying this policy scope will introduce additional latency before the agent can respond.", + "Policy check is triggered on both user input and agent response. Applying this policy scope will introduce additional latency before the agent can respond." + ], + "type": "string" + }, + "prompt": { + "description": "Required. Policy prompt.", + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurity": { + "description": "Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification.", + "id": "GuardrailLlmPromptSecurity", + "properties": { + "customPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Use a user-defined LlmPolicy to configure the security guardrail." + }, + "defaultSettings": { + "$ref": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "description": "Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response." + }, + "failOpen": { + "description": "Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurityDefaultSecuritySettings": { + "description": "Configuration for default system security settings.", + "id": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "properties": { + "defaultPromptTemplate": { + "description": "Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailModelSafety": { + "description": "Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe.", + "id": "GuardrailModelSafety", + "properties": { + "safetySettings": { + "description": "Required. List of safety settings.", + "items": { + "$ref": "GuardrailModelSafetySafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GuardrailModelSafetySafetySetting": { + "description": "Safety setting.", + "id": "GuardrailModelSafetySafetySetting", + "properties": { + "category": { + "description": "Required. The harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "description": "Represents an image input or output in the conversation.", + "id": "Image", + "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" + }, + "ImportAppRequest": { + "description": "Request message for AgentService.ImportApp.", + "id": "ImportAppRequest", + "properties": { + "appContent": { + "description": "Raw bytes representing the compressed zip file with the app folder structure.", + "format": "byte", + "type": "string" + }, + "appId": { + "description": "Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error.", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`.", + "type": "string" + }, + "ignoreAppLock": { + "description": "Optional. Flag for overriding the app lock during import. If set to true, the import process will ignore the app lock.", + "type": "boolean" + }, + "importOptions": { + "$ref": "ImportAppRequestImportOptions", + "description": "Optional. Options governing the import process for the app." + } + }, + "type": "object" + }, + "ImportAppRequestImportOptions": { + "description": "Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data.", + "id": "ImportAppRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "REPLACE", + "OVERWRITE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Replace existing data with imported data. If an app with the same `app_id` already exists, its content will be updated based on the imported app. - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the imported app that have the same display name as existing resources will overwrite the existing ones. - Imported resources with new display names will be created. - Existing resources that do not have a matching display name in the imported app will remain untouched.", + "Overwrite existing data with imported data. If an app with the same `app_id` already exists, its content will be overwritten with the imported app. - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in the app will be deleted. - Imported resources will be created as new resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportAppResponse": { + "description": "Response message for AgentService.ImportApp.", + "id": "ImportAppResponse", + "properties": { + "name": { + "description": "The resource name of the app that was imported.", + "type": "string" + }, + "warnings": { + "description": "Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportEvaluationsOperationMetadata": { + "description": "Represents the metadata of the long-running operation for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ImportEvaluationsRequest": { + "description": "Request message for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsRequest", + "properties": { + "conversationList": { + "$ref": "ImportEvaluationsRequestConversationList", + "description": "The conversations to import the evaluations from." + }, + "csvContent": { + "description": "Raw bytes representing the csv file with the evaluations structure.", + "format": "byte", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import evaluations. The format of this URI must be `gs:///`.", + "type": "string" + }, + "importOptions": { + "$ref": "ImportEvaluationsRequestImportOptions", + "description": "Optional. Options governing the import process for the evaluations." + } + }, + "type": "object" + }, + "ImportEvaluationsRequestConversationList": { + "description": "A list of conversation resource names.", + "id": "ImportEvaluationsRequestConversationList", + "properties": { + "conversations": { + "description": "Optional. Conversation resource names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportEvaluationsRequestImportOptions": { + "description": "Configuration options for the evaluation import process. These options control how the import behaves, particularly when conflicts arise with existing evaluations data.", + "id": "ImportEvaluationsRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "OVERWRITE", + "SKIP", + "DUPLICATE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Overwrite the existing evaluation with the new one.", + "Keep the existing evaluation and skip the new one.", + "Keep the existing evaluation and duplicate the new one as a new evaluation." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportEvaluationsResponse": { + "description": "Response message for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsResponse", + "properties": { + "errorMessages": { + "description": "Optional. A list of error messages associated with evaluations that failed to be imported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "evaluations": { + "description": "The list of evaluations that were imported into the app.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + }, + "importFailureCount": { + "description": "The number of evaluations that were not imported due to errors.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InputAudioConfig": { + "description": "InputAudioConfig configures how the CES agent should interpret the incoming audio data.", + "id": "InputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the input audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "noiseSuppressionLevel": { + "description": "Optional. Whether to enable noise suppression on the input audio. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the input audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LanguageSettings": { + "description": "Language settings of the app.", + "id": "LanguageSettings", + "properties": { + "defaultLanguageCode": { + "description": "Optional. The default language code of the app.", + "type": "string" + }, + "enableMultilingualSupport": { + "description": "Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.", + "type": "boolean" + }, + "fallbackAction": { + "description": "Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as \"escalate\" or \"exit\", which triggers an EndSession signal with corresponding metadata to terminate the conversation.", + "type": "string" + }, + "supportedLanguageCodes": { + "description": "Optional. List of languages codes supported by the app, in addition to the `default_language_code`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LatencyReport": { + "description": "Latency report for the evaluation run.", + "id": "LatencyReport", + "properties": { + "callbackLatencies": { + "description": "Output only. Unordered list. Latency metrics for each callback.", + "items": { + "$ref": "LatencyReportCallbackLatency" + }, + "readOnly": true, + "type": "array" + }, + "guardrailLatencies": { + "description": "Output only. Unordered list. Latency metrics for each guardrail.", + "items": { + "$ref": "LatencyReportGuardrailLatency" + }, + "readOnly": true, + "type": "array" + }, + "llmCallLatencies": { + "description": "Output only. Unordered list. Latency metrics for each LLM call.", + "items": { + "$ref": "LatencyReportLlmCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "sessionCount": { + "description": "Output only. The total number of sessions considered in the latency report.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "toolLatencies": { + "description": "Output only. Unordered list. Latency metrics for each tool.", + "items": { + "$ref": "LatencyReportToolLatency" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "LatencyReportCallbackLatency": { + "description": "Latency metrics for a single callback.", + "id": "LatencyReportCallbackLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the callback.", + "readOnly": true + }, + "stage": { + "description": "Output only. The stage of the callback.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportGuardrailLatency": { + "description": "Latency metrics for a single guardrail.", + "id": "LatencyReportGuardrailLatency", + "properties": { + "guardrail": { + "description": "Output only. The name of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`.", + "readOnly": true, + "type": "string" + }, + "guardrailDisplayName": { + "description": "Output only. The display name of the guardrail.", + "readOnly": true, + "type": "string" + }, + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the guardrail.", + "readOnly": true + } + }, + "type": "object" + }, + "LatencyReportLatencyMetrics": { + "description": "Latency metrics for a component.", + "id": "LatencyReportLatencyMetrics", + "properties": { + "callCount": { + "description": "Output only. The number of times the resource was called.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "p50Latency": { + "description": "Output only. The 50th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "p90Latency": { + "description": "Output only. The 90th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "p99Latency": { + "description": "Output only. The 99th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportLlmCallLatency": { + "description": "Latency metrics for a single LLM call.", + "id": "LatencyReportLlmCallLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the LLM call.", + "readOnly": true + }, + "model": { + "description": "Output only. The name of the model.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportToolLatency": { + "description": "Latency metrics for a single tool.", + "id": "LatencyReportToolLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the tool.", + "readOnly": true + }, + "tool": { + "description": "Output only. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.", + "readOnly": true, + "type": "string" + }, + "toolDisplayName": { + "description": "Output only. The display name of the tool.", + "readOnly": true, + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Output only. The toolset tool identifier.", + "readOnly": true + } + }, + "type": "object" + }, + "ListAgentsResponse": { + "description": "Response message for AgentService.ListAgents.", + "id": "ListAgentsResponse", + "properties": { + "agents": { + "description": "The list of agents.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppVersionsResponse": { + "description": "Response message for AgentService.ListAppVersions.", + "id": "ListAppVersionsResponse", + "properties": { + "appVersions": { + "description": "The list of app versions.", + "items": { + "$ref": "AppVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppsResponse": { + "description": "Response message for AgentService.ListApps.", + "id": "ListAppsResponse", + "properties": { + "apps": { + "description": "The list of apps.", + "items": { + "$ref": "App" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListChangelogsResponse": { + "description": "Response message for AgentService.ListChangelogs.", + "id": "ListChangelogsResponse", + "properties": { + "changelogs": { + "description": "The list of changelogs.", + "items": { + "$ref": "Changelog" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListConversationsResponse": { + "description": "Response message for AgentService.ListConversations.", + "id": "ListConversationsResponse", + "properties": { + "conversations": { + "description": "The list of conversations.", + "items": { + "$ref": "Conversation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListDeploymentsResponse": { + "description": "Response message for AgentService.ListDeployments.", + "id": "ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The list of deployments.", + "items": { + "$ref": "Deployment" + }, + "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" + }, + "ListEvaluationDatasetsResponse": { + "description": "Response message for EvaluationService.ListEvaluationDatasets.", + "id": "ListEvaluationDatasetsResponse", + "properties": { + "evaluationDatasets": { + "description": "The list of evaluation datasets.", + "items": { + "$ref": "EvaluationDataset" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationDatasetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationExpectationsResponse": { + "description": "Response message for EvaluationService.ListEvaluationExpectations.", + "id": "ListEvaluationExpectationsResponse", + "properties": { + "evaluationExpectations": { + "description": "The list of evaluation expectations.", + "items": { + "$ref": "EvaluationExpectation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationExpectationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationResultsResponse": { + "description": "Response message for EvaluationService.ListEvaluationResults.", + "id": "ListEvaluationResultsResponse", + "properties": { + "evaluationResults": { + "description": "The list of evaluation results.", + "items": { + "$ref": "EvaluationResult" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationRunsResponse": { + "description": "Response message for EvaluationService.ListEvaluationRuns.", + "id": "ListEvaluationRunsResponse", + "properties": { + "evaluationRuns": { + "description": "The list of evaluation runs.", + "items": { + "$ref": "EvaluationRun" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationsResponse": { + "description": "Response message for EvaluationService.ListEvaluations.", + "id": "ListEvaluationsResponse", + "properties": { + "evaluations": { + "description": "The list of evaluations.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListExamplesResponse": { + "description": "Response message for AgentService.ListExamples.", + "id": "ListExamplesResponse", + "properties": { + "examples": { + "description": "The list of examples.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuardrailsResponse": { + "description": "Response message for AgentService.ListGuardrails.", + "id": "ListGuardrailsResponse", + "properties": { + "guardrails": { + "description": "The list of guardrails.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "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" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListScheduledEvaluationRunsResponse": { + "description": "Response message for EvaluationService.ListScheduledEvaluationRuns.", + "id": "ListScheduledEvaluationRunsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListScheduledEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "scheduledEvaluationRuns": { + "description": "The list of scheduled evaluation runs.", + "items": { + "$ref": "ScheduledEvaluationRun" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsResponse": { + "description": "Response message for AgentService.ListTools.", + "id": "ListToolsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "tools": { + "description": "The list of tools.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsetsResponse": { + "description": "Response message for AgentService.ListToolsets.", + "id": "ListToolsetsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "toolsets": { + "description": "The list of toolsets.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LoggingSettings": { + "description": "Settings to describe the logging behaviors for the app.", + "id": "LoggingSettings", + "properties": { + "audioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded." + }, + "bigqueryExportSettings": { + "$ref": "BigQueryExportSettings", + "description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." + }, + "cloudLoggingSettings": { + "$ref": "CloudLoggingSettings", + "description": "Optional. Settings to describe the Cloud Logging behaviors for the app." + }, + "conversationLoggingSettings": { + "$ref": "ConversationLoggingSettings", + "description": "Optional. Settings to describe the conversation logging behaviors for the app." + }, + "evaluationAudioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions." + }, + "metricAnalysisSettings": { + "$ref": "MetricAnalysisSettings", + "description": "Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app." + }, + "redactionConfig": { + "$ref": "RedactionConfig", + "description": "Optional. Configuration for how sensitive data should be redacted." + } + }, + "type": "object" + }, + "McpTool": { + "description": "An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details.", + "id": "McpTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "description": { + "description": "Optional. The description of the MCP tool.", + "type": "string" + }, + "inputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the input arguments of the MCP tool." + }, + "name": { + "description": "Required. The name of the MCP tool.", + "type": "string" + }, + "outputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the output arguments of the MCP tool." + }, + "serverAddress": { + "description": "Required. The server address of the MCP server, e.g., \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "McpToolset": { + "description": "A toolset that contains a list of tools that are offered by the MCP server.", + "id": "McpToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "serverAddress": { + "description": "Required. The address of the MCP server, for example, \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "Message": { + "description": "A message within a conversation.", + "id": "Message", + "properties": { + "chunks": { + "description": "Optional. Content of the message as a series of chunks.", + "items": { + "$ref": "Chunk" + }, + "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" + }, + "MetricAnalysisSettings": { + "description": "Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline.", + "id": "MetricAnalysisSettings", + "properties": { + "llmMetricsOptedOut": { + "description": "Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected.", + "type": "boolean" + } + }, + "type": "object" + }, + "ModelSettings": { + "description": "Model settings contains various configurations for the LLM model.", + "id": "ModelSettings", + "properties": { + "model": { + "description": "Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.", + "type": "string" + }, + "temperature": { + "description": "Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "OAuthConfig": { + "description": "Configurations for authentication with OAuth.", + "id": "OAuthConfig", + "properties": { + "clientId": { + "description": "Required. The client ID from the OAuth provider.", + "type": "string" + }, + "clientSecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "oauthGrantType": { + "description": "Required. OAuth grant types.", + "enum": [ + "OAUTH_GRANT_TYPE_UNSPECIFIED", + "CLIENT_CREDENTIAL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to CLIENT_CREDENTIAL.", + "Represents the [client credential flow](https://oauth.net/2/grant-types/client-credentials)." + ], + "type": "string" + }, + "scopes": { + "description": "Optional. The OAuth scopes to grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenEndpoint": { + "description": "Required. The token endpoint in the OAuth provider to exchange for an access token.", + "type": "string" + } + }, + "type": "object" + }, + "Omnichannel": { + "description": "Represents an Omnichannel resource.", + "id": "Omnichannel", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the omnichannel resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the omnichannel resource.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the omnichannel resource.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation.", + "readOnly": true, + "type": "string" + }, + "integrationConfig": { + "$ref": "OmnichannelIntegrationConfig", + "description": "Optional. The integration config for the omnichannel resource." + }, + "name": { + "description": "Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project}/locations/{location}/omnichannels/{omnichannel}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the omnichannel resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfig": { + "description": "OmnichannelIntegrationConfig contains all App integration configs.", + "id": "OmnichannelIntegrationConfig", + "properties": { + "channelConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigChannelConfig" + }, + "description": "Optional. Various of configuration for handling App events.", + "type": "object" + }, + "routingConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigRoutingConfig" + }, + "description": "Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key.", + "type": "object" + }, + "subscriberConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigSubscriberConfig" + }, + "description": "Optional. Various of subscribers configs.", + "type": "object" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigCesAppConfig": { + "description": "Configs for CES app.", + "id": "OmnichannelIntegrationConfigCesAppConfig", + "properties": { + "app": { + "description": "The unique identifier of the CES app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigChannelConfig": { + "description": "ChannelConfig contains config for various of app integration.", + "id": "OmnichannelIntegrationConfigChannelConfig", + "properties": { + "whatsappConfig": { + "$ref": "OmnichannelIntegrationConfigWhatsappConfig", + "description": "WhatsApp config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigRoutingConfig": { + "description": "Routing config specify how/who to route app events to a subscriber.", + "id": "OmnichannelIntegrationConfigRoutingConfig", + "properties": { + "subscriberKey": { + "description": "The key of the subscriber.", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigSubscriberConfig": { + "description": "Configs of subscribers.", + "id": "OmnichannelIntegrationConfigSubscriberConfig", + "properties": { + "cesAppConfig": { + "$ref": "OmnichannelIntegrationConfigCesAppConfig", + "description": "Ces app config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigWhatsappConfig": { + "description": "How Omnichannel should receive/reply events from WhatsApp.", + "id": "OmnichannelIntegrationConfigWhatsappConfig", + "properties": { + "metaBusinessPortfolioId": { + "description": "The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number used for sending/receiving messages.", + "type": "string" + }, + "phoneNumberId": { + "description": "The Phone Number ID associated with the WhatsApp Business Account.", + "type": "string" + }, + "webhookVerifyToken": { + "description": "The verify token configured in the Meta App Dashboard for webhook verification.", + "type": "string" + }, + "whatsappBusinessAccountId": { + "description": "The customer's WhatsApp Business Account (WABA) ID.", + "type": "string" + }, + "whatsappBusinessToken": { + "description": "The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OmnichannelOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OpenApiTool": { + "description": "A remote API tool defined by an OpenAPI schema.", + "id": "OpenApiTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "description": { + "description": "Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`.", + "type": "string" + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response.", + "type": "boolean" + }, + "name": { + "description": "Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`.", + "type": "string" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema in JSON or YAML format.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client will trust." + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "OpenApiToolset": { + "description": "A toolset that contains a list of tools that are defined by an OpenAPI schema.", + "id": "OpenApiToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.", + "type": "boolean" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema of the toolset.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates" + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OptimizationConfig": { + "description": "Configuration for running the optimization step after the evaluation run.", + "id": "OptimizationConfig", + "properties": { + "assistantSession": { + "description": "Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}`", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Output only. The error message if the optimization run failed.", + "readOnly": true, + "type": "string" + }, + "generateLossReport": { + "description": "Optional. Whether to generate a loss report.", + "type": "boolean" + }, + "lossReport": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The generated loss report.", + "readOnly": true, + "type": "object" + }, + "reportSummary": { + "description": "Output only. The summary of the loss report.", + "readOnly": true, + "type": "string" + }, + "shouldSuggestFix": { + "description": "Output only. Whether to suggest a fix for the losses.", + "readOnly": true, + "type": "boolean" + }, + "status": { + "description": "Output only. The status of the optimization run.", + "enum": [ + "OPTIMIZATION_STATUS_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Optimization status is not specified.", + "Optimization is running.", + "Optimization has completed.", + "Optimization failed due to an internal error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OutputAudioConfig": { + "description": "OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses.", + "id": "OutputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the output audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the output audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PersonaRunConfig": { + "description": "Configuration for running an evaluation for a specific persona.", + "id": "PersonaRunConfig", + "properties": { + "persona": { + "description": "Optional. The persona to use for the evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}`", + "type": "string" + }, + "taskCount": { + "description": "Optional. The number of tasks to run for the persona.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PythonCodeCondition": { + "description": "Python code block to evaluate the condition.", + "id": "PythonCodeCondition", + "properties": { + "pythonCode": { + "description": "Required. The python code to execute.", + "type": "string" + } + }, + "type": "object" + }, + "PythonFunction": { + "description": "A Python function tool.", + "id": "PythonFunction", + "properties": { + "description": { + "description": "Output only. The description of the Python function, parsed from the python code's docstring.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used.", + "type": "string" + }, + "pythonCode": { + "description": "Optional. The Python code to execute for the tool.", + "type": "string" + } + }, + "type": "object" + }, + "RedactionConfig": { + "description": "Configuration to instruct how sensitive data should be handled.", + "id": "RedactionConfig", + "properties": { + "deidentifyTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}`", + "type": "string" + }, + "enableRedaction": { + "description": "Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.", + "type": "boolean" + }, + "inspectTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}`", + "type": "string" + } + }, + "type": "object" + }, + "RestoreAppVersionRequest": { + "description": "Request message for AgentService.RestoreAppVersion", + "id": "RestoreAppVersionRequest", + "properties": {}, + "type": "object" + }, + "RetrieveToolSchemaRequest": { + "description": "Request message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaRequest", + "properties": { + "tool": { + "description": "Optional. The name of the tool to retrieve the schema for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "RetrieveToolSchemaResponse": { + "description": "Response message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaResponse", + "properties": { + "inputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool input parameters." + }, + "outputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool output parameters." + }, + "tool": { + "description": "The name of the tool that the schema is for. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that the schema is for." + } + }, + "type": "object" + }, + "RetrieveToolsRequest": { + "description": "Request message for ToolService.RetrieveTools.", + "id": "RetrieveToolsRequest", + "properties": { + "toolIds": { + "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RetrieveToolsResponse": { + "description": "Response message for ToolService.RetrieveTools.", + "id": "RetrieveToolsResponse", + "properties": { + "tools": { + "description": "Required. The list of tools that are included in the specified toolset.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunEvaluationRequest": { + "description": "Request message for EvaluationService.RunEvaluation.", + "id": "RunEvaluationRequest", + "properties": { + "app": { + "description": "Required. The app to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "appVersion": { + "description": "Optional. The app version to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Optional. The configuration to use for the run." + }, + "displayName": { + "description": "Optional. The display name of the evaluation run.", + "type": "string" + }, + "evaluationDataset": { + "description": "Optional. An evaluation dataset to run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "type": "string" + }, + "evaluations": { + "description": "Optional. List of evaluations to run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "generateLatencyReport": { + "description": "Optional. Whether to generate a latency report for the evaluation run.", + "type": "boolean" + }, + "goldenRunMethod": { + "description": "Optional. The method to run the evaluation if it is a golden evaluation. If not set, default to STABLE.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "type": "string" + }, + "optimizationConfig": { + "$ref": "OptimizationConfig", + "description": "Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run." + }, + "personaRunConfigs": { + "description": "Optional. The configuration to use for the run per persona.", + "items": { + "$ref": "PersonaRunConfig" + }, + "type": "array" + }, + "runCount": { + "description": "Optional. The number of times to run the evaluation. If not set, the default value is 1 per golden, and 5 per scenario.", + "format": "int32", + "type": "integer" + }, + "scheduledEvaluationRun": { + "description": "Optional. The resource name of the `ScheduledEvaluationRun` that is triggering this evaluation run. If this field is set, the `scheduled_evaluation_run` field on the created `EvaluationRun` resource will be populated from this value. Format: `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`", + "type": "string" + } + }, + "type": "object" + }, + "RunSessionRequest": { + "description": "Request message for SessionService.RunSession.", + "id": "RunSessionRequest", + "properties": { + "config": { + "$ref": "SessionConfig", + "description": "Required. The configuration for the session." + }, + "inputs": { + "description": "Required. Inputs for the session.", + "items": { + "$ref": "SessionInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionResponse": { + "description": "Response message for SessionService.RunSession.", + "id": "RunSessionResponse", + "properties": { + "outputs": { + "description": "Outputs for the session.", + "items": { + "$ref": "SessionOutput" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScheduledEvaluationRun": { + "description": "Represents a scheduled evaluation run configuration.", + "id": "ScheduledEvaluationRun", + "properties": { + "active": { + "description": "Optional. Whether this config is active", + "type": "boolean" + }, + "createTime": { + "description": "Output only. Timestamp when the scheduled evaluation run was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the scheduled evaluation run.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. User-defined description of the scheduled evaluation run.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the scheduled evaluation run config.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "lastCompletedRun": { + "description": "Output only. The last successful EvaluationRun of this scheduled execution. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "readOnly": true, + "type": "string" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId}", + "type": "string" + }, + "nextScheduledExecutionTime": { + "description": "Output only. The next time this is scheduled to execute", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "request": { + "$ref": "RunEvaluationRequest", + "description": "Required. The RunEvaluationRequest to schedule" + }, + "schedulingConfig": { + "$ref": "ScheduledEvaluationRunSchedulingConfig", + "description": "Required. Configuration for the timing and frequency with which to execute the evaluations." + }, + "totalExecutions": { + "description": "Output only. The total number of times this run has been executed", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ScheduledEvaluationRunSchedulingConfig": { + "description": "Eval scheduling configuration details", + "id": "ScheduledEvaluationRunSchedulingConfig", + "properties": { + "daysOfWeek": { + "description": "Optional. The days of the week to run the eval. Applicable only for Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is Sunday.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "frequency": { + "description": "Required. The frequency with which to run the eval", + "enum": [ + "FREQUENCY_UNSPECIFIED", + "NONE", + "DAILY", + "WEEKLY", + "BIWEEKLY" + ], + "enumDescriptions": [ + "The frequency is unspecified.", + "Indicates a one-time scheduled run that should not repeat", + "Run the evaluation daily.", + "Run the evaluation weekly.", + "Run the evaluation biweekly." + ], + "type": "string" + }, + "startTime": { + "description": "Required. Timestamp when the eval should start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Schema": { + "description": "Represents a select subset of an OpenAPI 3.0 schema object.", + "id": "Schema", + "properties": { + "additionalProperties": { + "$ref": "Schema", + "description": "Optional. Can either be a boolean or an object, controls the presence of additional properties." + }, + "anyOf": { + "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "default": { + "description": "Optional. Default value of the data.", + "type": "any" + }, + "defs": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema.", + "type": "object" + }, + "description": { + "description": "Optional. The description of the data.", + "type": "string" + }, + "enum": { + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "$ref": "Schema", + "description": "Optional. Schema of the elements of Type.ARRAY." + }, + "maxItems": { + "description": "Optional. Maximum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "maximum": { + "description": "Optional. Maximum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "minItems": { + "description": "Optional. Minimum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "minimum": { + "description": "Optional. Minimum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "nullable": { + "description": "Optional. Indicates if the value may be null.", + "type": "boolean" + }, + "prefixItems": { + "description": "Optional. Schemas of initial elements of Type.ARRAY.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. Properties of Type.OBJECT.", + "type": "object" + }, + "ref": { + "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring.", + "type": "string" + }, + "required": { + "description": "Optional. Required properties of Type.OBJECT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Optional. The title of the schema.", + "type": "string" + }, + "type": { + "description": "Required. The type of the data.", + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "INTEGER", + "NUMBER", + "BOOLEAN", + "OBJECT", + "ARRAY" + ], + "enumDescriptions": [ + "Type unspecified.", + "String type.", + "Integer type.", + "Number type.", + "Boolean type.", + "Object type.", + "Array type." + ], + "type": "string" + }, + "uniqueItems": { + "description": "Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServiceAccountAuthConfig": { + "description": "Configurations for authentication using a custom service account.", + "id": "ServiceAccountAuthConfig", + "properties": { + "scopes": { + "description": "Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAgentIdTokenAuthConfig": { + "description": "Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent.", + "id": "ServiceAgentIdTokenAuthConfig", + "properties": {}, + "type": "object" + }, + "ServiceDirectoryConfig": { + "description": "Configuration for tools using Service Directory.", + "id": "ServiceDirectoryConfig", + "properties": { + "service": { + "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app.", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfig": { + "description": "The configuration for the session.", + "id": "SessionConfig", + "properties": { + "deployment": { + "description": "Optional. The deployment of the app to use for the session. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "historicalContexts": { + "description": "Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "description": "Optional. Configuration for generating the output audio." + }, + "remoteDialogflowQueryParameters": { + "$ref": "SessionConfigRemoteDialogflowQueryParameters", + "description": "Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent." + }, + "timeZone": { + "description": "Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. \"America/Los_Angeles\".", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfigRemoteDialogflowQueryParameters": { + "description": "[QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent.", + "id": "SessionConfigRemoteDialogflowQueryParameters", + "properties": { + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "webhookHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + } + }, + "type": "object" + }, + "SessionInput": { + "description": "Input for the session.", + "id": "SessionInput", + "properties": { + "audio": { + "description": "Optional. Audio data from the end user.", + "format": "byte", + "type": "string" + }, + "blob": { + "$ref": "Blob", + "description": "Optional. Blob data from the end user." + }, + "dtmf": { + "description": "Optional. DTMF digits from the end user.", + "type": "string" + }, + "event": { + "$ref": "Event", + "description": "Optional. Event input." + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data from the end user." + }, + "text": { + "description": "Optional. Text data from the end user.", + "type": "string" + }, + "toolResponses": { + "$ref": "ToolResponses", + "description": "Optional. Execution results for the tool calls from the client." + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters.", + "type": "object" + }, + "willContinue": { + "description": "Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time.", + "type": "boolean" + } + }, + "type": "object" + }, + "SessionOutput": { + "description": "Output for the session.", + "id": "SessionOutput", + "properties": { + "audio": { + "description": "Output audio from the CES agent.", + "format": "byte", + "type": "string" + }, + "citations": { + "$ref": "Citations", + "description": "Citations that provide the source information for the agent's generated text." + }, + "diagnosticInfo": { + "$ref": "SessionOutputDiagnosticInfo", + "description": "Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn." + }, + "endSession": { + "$ref": "EndSession", + "description": "Indicates the session has ended." + }, + "googleSearchSuggestions": { + "$ref": "GoogleSearchSuggestions", + "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom payload with structured output from the CES agent.", + "type": "object" + }, + "text": { + "description": "Output text from the CES agent.", + "type": "string" + }, + "toolCalls": { + "$ref": "ToolCalls", + "description": "Request for the client to execute the tools." + }, + "turnCompleted": { + "description": "If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn.", + "type": "boolean" + }, + "turnIndex": { + "description": "Indicates the sequential order of conversation turn to which this output belongs to, starting from 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SessionOutputDiagnosticInfo": { + "description": "Contains execution details during the processing.", + "id": "SessionOutputDiagnosticInfo", + "properties": { + "messages": { + "description": "List of the messages that happened during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations." + } + }, + "type": "object" + }, + "Span": { + "description": "A span is a unit of work or a single operation during the request processing.", + "id": "Span", + "properties": { + "attributes": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Key-value attributes associated with the span.", + "readOnly": true, + "type": "object" + }, + "childSpans": { + "description": "Output only. The child spans that are nested under this span.", + "items": { + "$ref": "Span" + }, + "readOnly": true, + "type": "array" + }, + "duration": { + "description": "Output only. The duration of the span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the span.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SynthesizeSpeechConfig": { + "description": "Configuration for how the agent response should be synthesized.", + "id": "SynthesizeSpeechConfig", + "properties": { + "speakingRate": { + "description": "Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.", + "format": "double", + "type": "number" + }, + "voice": { + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech.", + "type": "string" + } + }, + "type": "object" + }, + "SystemTool": { + "description": "Pre-defined system tool.", + "id": "SystemTool", + "properties": { + "description": { + "description": "Output only. The description of the system tool.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the system tool.", + "type": "string" + } + }, + "type": "object" + }, + "TestPersonaVoiceRequest": { + "description": "Request message for EvaluationService.TestPersonaVoice.", + "id": "TestPersonaVoiceRequest", + "properties": { + "personaId": { + "description": "Required. The persona ID to test the voice for. Also accepts \"default\".", + "type": "string" + }, + "text": { + "description": "Required. The text to test the voice for.", + "type": "string" + } + }, + "type": "object" + }, + "TestPersonaVoiceResponse": { + "description": "Response message for EvaluationService.TestPersonaVoice.", + "id": "TestPersonaVoiceResponse", + "properties": { + "audio": { + "description": "The audio data bytes of the synthesized voice.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "TimeZoneSettings": { + "description": "TimeZone settings of the app.", + "id": "TimeZoneSettings", + "properties": { + "timeZone": { + "description": "Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris.", + "type": "string" + } + }, + "type": "object" + }, + "TlsConfig": { + "description": "The TLS configuration.", + "id": "TlsConfig", + "properties": { + "caCerts": { + "description": "Required. Specifies a list of allowed custom CA certificates for HTTPS verification.", + "items": { + "$ref": "TlsConfigCaCert" + }, + "type": "array" + } + }, + "type": "object" + }, + "TlsConfigCaCert": { + "description": "The CA certificate.", + "id": "TlsConfigCaCert", + "properties": { + "cert": { + "description": "Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\")", + "format": "byte", + "type": "string" + }, + "displayName": { + "description": "Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.", + "type": "string" + } + }, + "type": "object" + }, + "Tool": { + "description": "A tool represents an action that the CES agent can take to achieve certain goals.", + "id": "Tool", + "properties": { + "clientFunction": { + "$ref": "ClientFunction", + "description": "Optional. The client function." + }, + "connectorTool": { + "$ref": "ConnectorTool", + "description": "Optional. The Integration Connector tool." + }, + "createTime": { + "description": "Output only. Timestamp when the tool was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreTool": { + "$ref": "DataStoreTool", + "description": "Optional. The data store tool." + }, + "displayName": { + "description": "Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tool.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "fileSearchTool": { + "$ref": "FileSearchTool", + "description": "Optional. The file search tool." + }, + "generatedSummary": { + "description": "Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "googleSearchTool": { + "$ref": "GoogleSearchTool", + "description": "Optional. The google search tool." + }, + "mcpTool": { + "$ref": "McpTool", + "description": "Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset." + }, + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "type": "string" + }, + "openApiTool": { + "$ref": "OpenApiTool", + "description": "Optional. The open API tool." + }, + "pythonFunction": { + "$ref": "PythonFunction", + "description": "Optional. The python function tool." + }, + "systemTool": { + "$ref": "SystemTool", + "description": "Optional. The system tool." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tool behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the tool was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "widgetTool": { + "$ref": "WidgetTool", + "description": "Optional. The widget tool." + } + }, + "type": "object" + }, + "ToolCall": { + "description": "Request for the client or the agent to execute the specified tool.", + "id": "ToolCall", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", + "type": "string" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute." + } + }, + "type": "object" + }, + "ToolCalls": { + "description": "Request for the client to execute the tools and return the execution results before continuing the session.", + "id": "ToolCalls", + "properties": { + "toolCalls": { + "description": "Optional. The list of tool calls to execute.", + "items": { + "$ref": "ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "ToolFakeConfig": { + "description": "Configuration for tool behavior in fake mode.", + "id": "ToolFakeConfig", + "properties": { + "codeBlock": { + "$ref": "CodeBlock", + "description": "Optional. Code block which will be executed instead of a real tool call." + }, + "enableFakeMode": { + "description": "Optional. Whether the tool is using fake mode.", + "type": "boolean" + } + }, + "type": "object" + }, + "ToolResponse": { + "description": "The execution result of a specific tool from the client or the agent.", + "id": "ToolResponse", + "properties": { + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The matching ID of the tool call the response is for.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool that got executed." + } + }, + "type": "object" + }, + "ToolResponses": { + "description": "Execution results for the requested tool calls from the client.", + "id": "ToolResponses", + "properties": { + "toolResponses": { + "description": "Optional. The list of tool execution results.", + "items": { + "$ref": "ToolResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "Toolset": { + "description": "A toolset represents a group of dynamically managed tools that can be used by the agent.", + "id": "Toolset", + "properties": { + "connectorToolset": { + "$ref": "ConnectorToolset", + "description": "Optional. A toolset that generates tools from an Integration Connectors Connection." + }, + "createTime": { + "description": "Output only. Timestamp when the toolset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the toolset.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the toolset. Must be unique within the same app.", + "type": "string" + }, + "etag": { + "description": "ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tools in the toolset.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "mcpToolset": { + "$ref": "McpToolset", + "description": "Optional. A toolset that contains a list of tools that are offered by the MCP server." + }, + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + }, + "openApiToolset": { + "$ref": "OpenApiToolset", + "description": "Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tools behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the toolset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ToolsetTool": { + "description": "A tool that is created from a toolset.", + "id": "ToolsetTool", + "properties": { + "toolId": { + "description": "Optional. The tool ID to filter the tools to retrieve the schema for.", + "type": "string" + }, + "toolset": { + "description": "Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "TransferRule": { + "description": "Rule for transferring to a specific agent.", + "id": "TransferRule", + "properties": { + "childAgent": { + "description": "Required. The resource name of the child agent the rule applies to. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "deterministicTransfer": { + "$ref": "TransferRuleDeterministicTransfer", + "description": "Optional. A rule that immediately transfers to the target agent when the condition is met." + }, + "direction": { + "description": "Required. The direction of the transfer.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "PARENT_TO_CHILD", + "CHILD_TO_PARENT" + ], + "enumDescriptions": [ + "Unspecified direction.", + "Transfer from the parent agent to the child agent.", + "Transfer from the child agent to the parent agent." + ], + "type": "string" + }, + "disablePlannerTransfer": { + "$ref": "TransferRuleDisablePlannerTransfer", + "description": "Optional. Rule that prevents the planner from transferring to the target agent." + } + }, + "type": "object" + }, + "TransferRuleDeterministicTransfer": { + "description": "Deterministic transfer rule. When the condition evaluates to true, the transfer occurs.", + "id": "TransferRuleDeterministicTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs." + }, + "pythonCodeCondition": { + "$ref": "PythonCodeCondition", + "description": "Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs." + } + }, + "type": "object" + }, + "TransferRuleDisablePlannerTransfer": { + "description": "A rule that prevents the planner from transferring to the target agent.", + "id": "TransferRuleDisablePlannerTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent." + } + }, + "type": "object" + }, + "TriggerAction": { + "description": "Action that is taken when a certain precondition is met.", + "id": "TriggerAction", + "properties": { + "generativeAnswer": { + "$ref": "TriggerActionGenerativeAnswer", + "description": "Optional. Respond with a generative answer." + }, + "respondImmediately": { + "$ref": "TriggerActionRespondImmediately", + "description": "Optional. Immediately respond with a preconfigured response." + }, + "transferAgent": { + "$ref": "TriggerActionTransferAgent", + "description": "Optional. Transfer the conversation to a different agent." + } + }, + "type": "object" + }, + "TriggerActionGenerativeAnswer": { + "description": "The agent will immediately respond with a generative answer.", + "id": "TriggerActionGenerativeAnswer", + "properties": { + "prompt": { + "description": "Required. The prompt to use for the generative answer.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionRespondImmediately": { + "description": "The agent will immediately respond with a preconfigured response.", + "id": "TriggerActionRespondImmediately", + "properties": { + "responses": { + "description": "Required. The canned responses for the agent to choose from. The response is chosen randomly.", + "items": { + "$ref": "TriggerActionResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "TriggerActionResponse": { + "description": "Represents a response from the agent.", + "id": "TriggerActionResponse", + "properties": { + "disabled": { + "description": "Optional. Whether the response is disabled. Disabled responses are not used by the agent.", + "type": "boolean" + }, + "text": { + "description": "Required. Text for the agent to respond with.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionTransferAgent": { + "description": "The agent will transfer the conversation to a different agent.", + "id": "TriggerActionTransferAgent", + "properties": { + "agent": { + "description": "Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "WebSearchQuery": { + "description": "Represents a single web search query and its associated search uri.", + "id": "WebSearchQuery", + "properties": { + "query": { + "description": "The search query text.", + "type": "string" + }, + "uri": { + "description": "The URI to the Google Search results page for the query.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetTool": { + "description": "Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent.", + "id": "WidgetTool", + "properties": { + "description": { + "description": "Optional. The description of the widget tool.", + "type": "string" + }, + "name": { + "description": "Required. The display name of the widget tool.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The input parameters of the widget tool." + }, + "widgetType": { + "description": "Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED.", + "enum": [ + "WIDGET_TYPE_UNSPECIFIED", + "CUSTOM", + "PRODUCT_CAROUSEL", + "PRODUCT_DETAILS", + "QUICK_ACTIONS", + "PRODUCT_COMPARISON", + "ADVANCED_PRODUCT_DETAILS", + "SHORT_FORM", + "OVERALL_SATISFACTION", + "ORDER_SUMMARY", + "APPOINTMENT_DETAILS" + ], + "enumDescriptions": [ + "Unspecified widget type.", + "Custom widget type.", + "Product carousel widget.", + "Product details widget.", + "Quick actions widget.", + "Product comparison widget.", + "Advanced product details widget.", + "Short form widget.", + "Overall satisfaction widget.", + "Order summary widget.", + "Appointment details widget." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index 17735bbc768..bbd4fc25b8c 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -1535,7 +1535,7 @@ } } }, - "revision": "20260120", + "revision": "20260205", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -3007,6 +3007,11 @@ "description": "A configuration object that helps configure the data sources for a widget. Available for Google Chat apps and Google Workspace add-ons that extend Google Workspace Studio.", "id": "GoogleAppsCardV1DataSourceConfig", "properties": { + "minCharactersTrigger": { + "description": "The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results).", + "format": "int32", + "type": "integer" + }, "platformDataSource": { "$ref": "GoogleAppsCardV1PlatformDataSource", "description": "The data is from a Google Workspace application." @@ -3600,7 +3605,7 @@ "id": "GoogleAppsCardV1SelectionInput", "properties": { "dataSourceConfigs": { - "description": "Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source. If specified, the `multi_select_max_selected_items` field, `multi_select_min_query_length` field, `external_data_source` field and `platform_data_source` field are ignored. Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the `Dropdown widget` in Google Chat apps as part of the [Developer Preview Program](https://developers.google.com/workspace/preview). For the `Dropdown` widget in Google Chat apps, only one `DataSourceConfig` is supported. If multiple `DataSourceConfig`s are set, only the first one is used.", + "description": "Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source. If specified, the `multi_select_max_selected_items` field, `multi_select_min_query_length` field, `external_data_source` field and `platform_data_source` field are ignored. Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the `Dropdown widget` in Google Chat apps. For the `Dropdown` widget in Google Chat apps, only one `DataSourceConfig` is supported. If multiple `DataSourceConfig`s are set, only the first one is used.", "items": { "$ref": "GoogleAppsCardV1DataSourceConfig" }, @@ -3660,7 +3665,7 @@ "A set of checkboxes. Users can select one or more checkboxes.", "A set of radio buttons. Users can select one radio button.", "A set of switches. Users can turn on one or more switches.", - "A dropdown menu. Users can select one item from the menu. For Google Chat apps, as part of the [Developer Preview Program](https://developers.google.com/workspace/preview), you can populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a dropdown menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement dropdown menus for Chat apps, see [Add a dropdown menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#dropdown-menu) and [Dynamically populate drop-down menus](https://developers.google.com/workspace/chat/design-interactive-card-dialog#dynamic-dropdown-menu). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "A dropdown menu. Users can select one item from the menu. For Google Chat apps, you can populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a dropdown menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement dropdown menus for Chat apps, see [Add a dropdown menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#dropdown-menu) and [Dynamically populate drop-down menus](https://developers.google.com/workspace/chat/design-interactive-card-dialog#dynamic-dropdown-menu). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):", "A menu with a text box. Users can type and select one or more items. For Google Workspace add-ons, you must populate items using a static array of `SelectionItem` objects. For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus for Chat apps, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend):" ], "type": "string" diff --git a/discovery/clouddeploy-v1.json b/discovery/clouddeploy-v1.json index 7d2a09ae566..e60563f8e35 100644 --- a/discovery/clouddeploy-v1.json +++ b/discovery/clouddeploy-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "clouddeploy.projects.locations.list", @@ -2359,7 +2359,7 @@ } } }, - "revision": "20260109", + "revision": "20260128", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -3192,6 +3192,11 @@ }, "readOnly": true, "type": "array" + }, + "workerPool": { + "description": "Output only. The Cloud Run worker pool associated with a `Rollout`. Format is `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3204,6 +3209,11 @@ "description": "Output only. The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`.", "readOnly": true, "type": "string" + }, + "workerPool": { + "description": "Output only. The name of the Cloud Run Worker Pool in the rendered manifest. Format is `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "readOnly": true, + "type": "string" } }, "type": "object" diff --git a/discovery/clouderrorreporting-v1beta1.json b/discovery/clouderrorreporting-v1beta1.json index 5ff6bf038ae..caab5720979 100644 --- a/discovery/clouderrorreporting-v1beta1.json +++ b/discovery/clouderrorreporting-v1beta1.json @@ -15,6 +15,13 @@ "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/error-reporting/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouderrorreporting.us.rep.googleapis.com/", + "location": "us" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -728,7 +735,7 @@ } } }, - "revision": "20240705", + "revision": "20260206", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { diff --git a/discovery/cloudfunctions-v2.json b/discovery/cloudfunctions-v2.json index 325d8a742ce..6e41d83fb11 100644 --- a/discovery/cloudfunctions-v2.json +++ b/discovery/cloudfunctions-v2.json @@ -783,7 +783,7 @@ } } }, - "revision": "20260129", + "revision": "20260212", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -992,6 +992,28 @@ "properties": {}, "type": "object" }, + "DirectVpcNetworkInterface": { + "description": "The Direct VPC network interface. This is mutually exclusive with VPC Connector.", + "id": "DirectVpcNetworkInterface", + "properties": { + "network": { + "description": "Optional. The name of the VPC network to which the function will be connected. Specify either a VPC network or a subnet, or both. If you specify only a network, the subnet uses the same name as the network.", + "type": "string" + }, + "subnetwork": { + "description": "Optional. The name of the VPC subnetwork that the Cloud Function resource will get IPs from. Specify either a VPC network or a subnet, or both. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the subnetwork with the same name with the network will be used.", + "type": "string" + }, + "tags": { + "description": "Optional. Network tags applied to this Cloud Function resource.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "EventFilter": { "description": "Filters events based on exact matches on the CloudEvents attributes.", "id": "EventFilter", @@ -1923,6 +1945,27 @@ "description": "Optional. The binary authorization policy to be checked when deploying the Cloud Run service.", "type": "string" }, + "directVpcEgress": { + "description": "Optional. Egress settings for direct VPC. If not provided, it defaults to VPC_EGRESS_PRIVATE_RANGES_ONLY.", + "enum": [ + "DIRECT_VPC_EGRESS_UNSPECIFIED", + "VPC_EGRESS_PRIVATE_RANGES_ONLY", + "VPC_EGRESS_ALL_TRAFFIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Sends only traffic to internal addresses through the VPC network.", + "Sends all outbound traffic through the VPC network." + ], + "type": "string" + }, + "directVpcNetworkInterface": { + "description": "Optional. The Direct VPC network interface for the Cloud Function. Currently only a single Direct VPC is supported.", + "items": { + "$ref": "DirectVpcNetworkInterface" + }, + "type": "array" + }, "environmentVariables": { "additionalProperties": { "type": "string" @@ -2232,6 +2275,22 @@ "COMMIT_FUNCTION_UPGRADE_AS_GEN2_SUCCESSFUL", "COMMIT_FUNCTION_UPGRADE_AS_GEN2_ERROR" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false + ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", "Functions in this state are eligible for 1st Gen upgrade.", @@ -2245,7 +2304,7 @@ "RollbackFunctionUpgradeTraffic API was un-successful.", "CommitFunctionUpgrade API was un-successful and 1st gen function might have broken.", "CommitFunctionUpgrade API was un-successful but safe to rollback traffic or abort.", - "Indicates that the `CommitFunctionUpgradeAsGen2` API call succeeded and the function was successfully migrated to the 2nd Gen stack.", + "Deprecated: This state is no longer returned by the backend. Clients should not rely on polling for this specific state. A successful upgrade is now indicated by the long-running operation completing successfully with a Function resource in the response.", "CommitFunctionUpgradeAsGen2 API was un-successful and 1st gen function might have broken." ], "type": "string" diff --git a/discovery/cloudfunctions-v2alpha.json b/discovery/cloudfunctions-v2alpha.json index 36913896392..90a01546aee 100644 --- a/discovery/cloudfunctions-v2alpha.json +++ b/discovery/cloudfunctions-v2alpha.json @@ -783,7 +783,7 @@ } } }, - "revision": "20260129", + "revision": "20260212", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -2275,6 +2275,22 @@ "COMMIT_FUNCTION_UPGRADE_AS_GEN2_SUCCESSFUL", "COMMIT_FUNCTION_UPGRADE_AS_GEN2_ERROR" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false + ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", "Functions in this state are eligible for 1st Gen upgrade.", @@ -2288,7 +2304,7 @@ "RollbackFunctionUpgradeTraffic API was un-successful.", "CommitFunctionUpgrade API was un-successful and 1st gen function might have broken.", "CommitFunctionUpgrade API was un-successful but safe to rollback traffic or abort.", - "Indicates that the `CommitFunctionUpgradeAsGen2` API call succeeded and the function was successfully migrated to the 2nd Gen stack.", + "Deprecated: This state is no longer returned by the backend. Clients should not rely on polling for this specific state. A successful upgrade is now indicated by the long-running operation completing successfully with a Function resource in the response.", "CommitFunctionUpgradeAsGen2 API was un-successful and 1st gen function might have broken." ], "type": "string" diff --git a/discovery/cloudfunctions-v2beta.json b/discovery/cloudfunctions-v2beta.json index 39013b07abc..7d676e6e162 100644 --- a/discovery/cloudfunctions-v2beta.json +++ b/discovery/cloudfunctions-v2beta.json @@ -783,7 +783,7 @@ } } }, - "revision": "20260129", + "revision": "20260212", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -2275,6 +2275,22 @@ "COMMIT_FUNCTION_UPGRADE_AS_GEN2_SUCCESSFUL", "COMMIT_FUNCTION_UPGRADE_AS_GEN2_ERROR" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false + ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", "Functions in this state are eligible for 1st Gen upgrade.", @@ -2288,7 +2304,7 @@ "RollbackFunctionUpgradeTraffic API was un-successful.", "CommitFunctionUpgrade API was un-successful and 1st gen function might have broken.", "CommitFunctionUpgrade API was un-successful but safe to rollback traffic or abort.", - "Indicates that the `CommitFunctionUpgradeAsGen2` API call succeeded and the function was successfully migrated to the 2nd Gen stack.", + "Deprecated: This state is no longer returned by the backend. Clients should not rely on polling for this specific state. A successful upgrade is now indicated by the long-running operation completing successfully with a Function resource in the response.", "CommitFunctionUpgradeAsGen2 API was un-successful and 1st gen function might have broken." ], "type": "string" diff --git a/discovery/cloudkms-v1.json b/discovery/cloudkms-v1.json index 0fb55a38c3f..5d9056a6c97 100644 --- a/discovery/cloudkms-v1.json +++ b/discovery/cloudkms-v1.json @@ -59,11 +59,6 @@ "endpointUrl": "https://cloudkms.us-west1.rep.googleapis.com/", "location": "us-west1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://cloudkms.us-east7.rep.googleapis.com/", - "location": "us-east7" - }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudkms.us-central1.rep.googleapis.com/", @@ -99,6 +94,11 @@ "endpointUrl": "https://cloudkms.us-south1.rep.googleapis.com/", "location": "us-south1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudkms.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudkms.us.rep.googleapis.com/", @@ -269,7 +269,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", "location": "path", "pattern": "^folders/[^/]+/autokeyConfig$", "required": true, @@ -538,7 +538,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", "location": "path", "pattern": "^projects/[^/]+/autokeyConfig$", "required": true, @@ -684,7 +684,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudkms.projects.locations.list", @@ -1501,6 +1501,32 @@ "https://www.googleapis.com/auth/cloudkms" ] }, + "delete": { + "description": "Permanently deletes the given CryptoKey. All child CryptoKeyVersions must have been previously deleted using KeyManagementService.DeleteCryptoKeyVersion. The specified crypto key will be immediately and permanently deleted upon calling this method. This action cannot be undone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", + "httpMethod": "DELETE", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CryptoKey to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, "encrypt": { "description": "Encrypts data, so that it can only be recovered by a call to Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", @@ -1890,6 +1916,32 @@ "https://www.googleapis.com/auth/cloudkms" ] }, + "delete": { + "description": "Permanently deletes the given CryptoKeyVersion. Only possible if the version has not been previously imported and if its state is one of DESTROYED, IMPORT_FAILED, or GENERATION_FAILED. Successfully imported CryptoKeyVersions cannot be deleted at this time. The specified version will be immediately and permanently deleted upon calling this method. This action cannot be undone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", + "httpMethod": "DELETE", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CryptoKeyVersion to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, "destroy": { "description": "Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy", @@ -2496,6 +2548,73 @@ } } }, + "retiredResources": { + "methods": { + "get": { + "description": "Retrieves a specific RetiredResource resource, which represents the record of a deleted CryptoKey.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/retiredResources/{retiredResourcesId}", + "httpMethod": "GET", + "id": "cloudkms.projects.locations.retiredResources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RetiredResource to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/retiredResources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "RetiredResource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, + "list": { + "description": "Lists the RetiredResources which are the records of deleted CryptoKeys. RetiredResources prevent the reuse of these resource names after deletion.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/retiredResources", + "httpMethod": "GET", + "id": "cloudkms.projects.locations.retiredResources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Optional limit on the number of RetiredResources to be included in the response. Further RetiredResources can subsequently be obtained by including the ListRetiredResourcesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Optional pagination token, returned earlier via ListRetiredResourcesResponse.next_page_token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project-specific location holding the RetiredResources, in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/retiredResources", + "response": { + "$ref": "ListRetiredResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + } + } + }, "singleTenantHsmInstances": { "methods": { "create": { @@ -2819,7 +2938,7 @@ } } }, - "revision": "20260123", + "revision": "20260213", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AddQuorumMember": { @@ -3058,13 +3177,13 @@ "enumDescriptions": [ "Default value. KeyProjectResolutionMode when not specified will act as `DEDICATED_KEY_PROJECT`.", "Keys are created in a dedicated project specified by `key_project`.", - "Keys are created in the same project as the resource requesting the key. `key_project` must not be set when this mode is used.", + "Keys are created in the same project as the resource requesting the key. The `key_project` must not be set when this mode is used.", "Disables the AutokeyConfig. When this mode is set, any AutokeyConfig from higher levels in the resource hierarchy are ignored for this resource and its descendants. This setting can be overridden by a more specific configuration at a lower level. For example, if Autokey is disabled on a folder, it can be re-enabled on a sub-folder or project within that folder by setting a different mode (e.g., DEDICATED_KEY_PROJECT or RESOURCE_PROJECT)." ], "type": "string" }, "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", "type": "string" }, "state": { @@ -3833,6 +3952,11 @@ "description": "A Digest holds a cryptographic message digest.", "id": "Digest", "properties": { + "externalMu": { + "description": "A message digest produced with SHAKE-256, to be used with ML-DSA external-μ algorithms only. See \"message representative\" note in section 6.2, algorithm 7 of the FIPS-204 standard: https://doi.org/10.6028/nist.fips.204", + "format": "byte", + "type": "string" + }, "sha256": { "description": "A message digest produced with the SHA-256 algorithm.", "format": "byte", @@ -4645,6 +4769,29 @@ }, "type": "object" }, + "ListRetiredResourcesResponse": { + "description": "Response message for KeyManagementService.ListRetiredResources.", + "id": "ListRetiredResourcesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in ListRetiredResourcesRequest.page_token to retrieve the next page of results.", + "type": "string" + }, + "retiredResources": { + "description": "The list of RetiredResources.", + "items": { + "$ref": "RetiredResource" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of RetiredResources that matched the query.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "ListSingleTenantHsmInstanceProposalsResponse": { "description": "Response message for HsmManagement.ListSingleTenantHsmInstanceProposals.", "id": "ListSingleTenantHsmInstanceProposalsResponse", @@ -5475,6 +5622,34 @@ "properties": {}, "type": "object" }, + "RetiredResource": { + "description": "A RetiredResource resource represents the record of a deleted CryptoKey. Its purpose is to provide visibility into retained user data and to prevent reuse of these names for new CryptoKeys.", + "id": "RetiredResource", + "properties": { + "deleteTime": { + "description": "Output only. The time at which the original resource was deleted and this RetiredResource record was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The resource name for this RetiredResource in the format `projects/*/locations/*/retiredResources/*`.", + "readOnly": true, + "type": "string" + }, + "originalResource": { + "description": "Output only. The full resource name of the original CryptoKey that was deleted in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. The resource type of the original deleted resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ServiceResolver": { "description": "A ServiceResolver represents an EKM replica that can be reached within an EkmConnection.", "id": "ServiceResolver", diff --git a/discovery/cloudscheduler-v1.json b/discovery/cloudscheduler-v1.json index bc72ff374d8..ddc47bbc138 100644 --- a/discovery/cloudscheduler-v1.json +++ b/discovery/cloudscheduler-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudscheduler.projects.locations.list", @@ -611,7 +611,7 @@ } } }, - "revision": "20251205", + "revision": "20260202", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { diff --git a/discovery/cloudscheduler-v1beta1.json b/discovery/cloudscheduler-v1beta1.json index b0401231f5b..7019d356417 100644 --- a/discovery/cloudscheduler-v1beta1.json +++ b/discovery/cloudscheduler-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudscheduler.projects.locations.list", @@ -567,7 +567,7 @@ } } }, - "revision": "20251205", + "revision": "20260202", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index cbf2faeaaea..9c27756d8e7 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -3234,6 +3234,55 @@ "https://www.googleapis.com/auth/compute" ] }, + "convert": { + "description": "Converts a persistent disk to support Gen4+ VMs.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/convert", + "httpMethod": "POST", + "id": "compute.disks.convert", + "parameterOrder": [ + "project", + "zone", + "disk" + ], + "parameters": { + "disk": { + "description": "Name of the Disk resource, should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\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": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/disks/{disk}/convert", + "request": { + "$ref": "DisksConvertRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "createSnapshot": { "description": "Creates a snapshot of a specified persistent disk. For regular snapshot\ncreation, consider using snapshots.insert\ninstead, as that method supports more features, such as creating snapshots\nin a project different from the source disk project.", "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", @@ -3961,7 +4010,7 @@ ] }, "update": { - "description": "Updates the specified disk with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask. Only the following fields can be modified: user_license.", + "description": "Updates the specified disk with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask.", "flatPath": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "PATCH", "id": "compute.disks.update", @@ -7181,7 +7230,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -10478,6 +10527,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "configureAcceleratorTopologies": { + "description": "Updates the accelerator topologies configuration.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.configureAcceleratorTopologies", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.\nIt should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\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.\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": "The name of thezone\nwhere the managed instance group is located.\nIt should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies", + "request": { + "$ref": "InstanceGroupManagersConfigureAcceleratorTopologiesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "createInstances": { "description": "Creates instances with per-instance configurations in this managed instance\ngroup. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions\ntake additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances\nmethod.", "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", @@ -20530,7 +20627,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -28805,7 +28902,7 @@ }, "path": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}/getHealth", "response": { - "$ref": "CompositeHealthChecksGetHealthResponse" + "$ref": "CompositeHealthCheckHealth" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -30033,7 +30130,7 @@ ] }, "update": { - "description": "Update the specified disk with the data included in the request. Update is\nperformed only on selected fields included as part of update-mask. Only the\nfollowing fields can be modified: user_license.", + "description": "Update the specified disk with the data included in the request. Update is\nperformed only on selected fields included as part of update-mask.", "flatPath": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "PATCH", "id": "compute.regionDisks.update", @@ -31411,6 +31508,49 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getHealth": { + "description": "Gets the most recent health check results for this\nregional HealthSource.", + "flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth", + "httpMethod": "GET", + "id": "compute.regionHealthSources.getHealth", + "parameterOrder": [ + "project", + "region", + "healthSource" + ], + "parameters": { + "healthSource": { + "description": "Name of the HealthSource resource to get health for.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth", + "response": { + "$ref": "HealthSourceHealth" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Create a HealthSource in the specified project in the given region\nusing the parameters that are included in the request.", "flatPath": "projects/{project}/regions/{region}/healthSources", @@ -35077,7 +35217,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -41204,6 +41344,61 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getVersion": { + "description": "Allows customers to get SBOM versions of a reservation slot.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}/getVersion", + "httpMethod": "POST", + "id": "compute.reservationSlots.getVersion", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSlot" + ], + "parameters": { + "parentName": { + "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}", + "location": "path", + "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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" + }, + "reservationSlot": { + "description": "The name of the reservation slot.\nName should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getVersion", + "request": { + "$ref": "ReservationSlotsGetVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { "description": "Retrieves a list of reservation slots under a single reservation.", "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots", @@ -41272,6 +41467,62 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "update": { + "description": "Update a reservation slot in the specified sub-block.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}", + "httpMethod": "POST", + "id": "compute.reservationSlots.update", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSlot" + ], + "parameters": { + "parentName": { + "description": "The name of the sub-block resource.", + "location": "path", + "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})", + "required": true, + "type": "string" + }, + "project": { + "description": "The project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "reservationSlot": { + "description": "The name of the slot resource.", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request, formatted as RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}", + "request": { + "$ref": "ReservationSlot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -41279,7 +41530,7 @@ "methods": { "get": { "description": "Retrieves information about the specified reservation subBlock.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}", "httpMethod": "GET", "id": "compute.reservationSubBlocks.get", "parameterOrder": [ @@ -41292,6 +41543,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -41329,7 +41581,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}", "response": { "$ref": "ReservationSubBlocksGetResponse" }, @@ -41339,9 +41591,64 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getVersion": { + "description": "Allows customers to get SBOM versions of a reservation subBlock.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/getVersion", + "httpMethod": "POST", + "id": "compute.reservationSubBlocks.getVersion", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSubBlock" + ], + "parameters": { + "parentName": { + "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", + "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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" + }, + "reservationSubBlock": { + "description": "The name of the reservation subBlock.\nName should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion", + "request": { + "$ref": "ReservationSubBlocksGetVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { "description": "Retrieves a list of reservation subBlocks under a single reservation.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks", "httpMethod": "GET", "id": "compute.reservationSubBlocks.list", "parameterOrder": [ @@ -41376,6 +41683,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -41397,7 +41705,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks", "response": { "$ref": "ReservationSubBlocksListResponse" }, @@ -41409,7 +41717,7 @@ }, "performMaintenance": { "description": "Allows customers to perform maintenance on a reservation subBlock", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", "httpMethod": "POST", "id": "compute.reservationSubBlocks.performMaintenance", "parameterOrder": [ @@ -41422,6 +41730,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -41449,7 +41758,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", "response": { "$ref": "Operation" }, @@ -41460,7 +41769,7 @@ }, "reportFaulty": { "description": "Allows customers to report a faulty subBlock.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", "httpMethod": "POST", "id": "compute.reservationSubBlocks.reportFaulty", "parameterOrder": [ @@ -41473,6 +41782,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -41500,7 +41810,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", "request": { "$ref": "ReservationSubBlocksReportFaultyRequest" }, @@ -42885,6 +43195,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" + ] } } }, @@ -54266,7 +54664,7 @@ } } }, - "revision": "20260122", + "revision": "20260213", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -55744,6 +56142,7 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "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" ], "enumDescriptions": [ @@ -55754,6 +56153,7 @@ "", "", "", + "", "" ], "type": "string" @@ -55939,7 +56339,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -56175,14 +56575,6 @@ "" ], "type": "string" - }, - "userLicenses": { - "description": "Output only. [Output Only] A list of user provided licenses. It represents a list of\nURLs to the license resource. Unlike regular licenses, user provided\nlicenses can be modified after the disk is created.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" } }, "type": "object" @@ -56309,7 +56701,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when\nempty.", + "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when\nempty.", "type": "object" }, "resourcePolicies": { @@ -57372,6 +57764,10 @@ "format": "float", "type": "number" }, + "orchestrationInfo": { + "$ref": "BackendBackendOrchestrationInfo", + "description": "Information about the resource or system that manages the backend." + }, "preference": { "description": "This field indicates whether this backend should be fully utilized before\nsending traffic to backends with default preference. The possible values\nare:\n \n - PREFERRED: Backends with this preference level will be\n filled up to their capacity limits first, based on RTT.\n - DEFAULT: If preferred backends don't have enough\n capacity, backends in this layer would be used and traffic would be\n assigned based on the load balancing algorithm you use. This is the\n default", "enum": [ @@ -57406,6 +57802,17 @@ }, "type": "object" }, + "BackendBackendOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend.", + "id": "BackendBackendOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The URI of the resource or system that manages the backend.", + "type": "string" + } + }, + "type": "object" + }, "BackendBucket": { "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load\nbalancer. For more information, readBackend Buckets.", "id": "BackendBucket", @@ -58540,6 +58947,10 @@ "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", "description": "Configures traffic steering properties of internal passthrough Network\nLoad Balancers.\n\nnetworkPassThroughLbTrafficPolicy cannot be specified with haPolicy." }, + "orchestrationInfo": { + "$ref": "BackendServiceOrchestrationInfo", + "description": "Information about the resource or system that manages the backend service." + }, "outlierDetection": { "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the\nload balancing pool of each individual proxy instance that processes the\ntraffic for the given backend service. If not set, this feature is\nconsidered disabled.\n\nResults of the outlier detection algorithm (ejection of endpoints from the\nload balancing pool and returning them back to the pool) are executed\nindependently by each proxy instance of the load balancer. In most cases,\nmore than one proxy instance handles the traffic received by a backend\nservice. Thus, it is possible that an unhealthy endpoint is detected and\nejected by only some of the proxies, and while this happens, other proxies\nmay continue to send requests to the same unhealthy endpoint until they\ndetect and eject the unhealthy endpoint.\n\nApplicable backend endpoints can be:\n \n - VM instances in an Instance Group\n - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT)\n - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT)\n - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud\n Functions Services \n - Private Service Connect NEGs, that resolve to\n Google-managed regional API endpoints or managed services published using\n Private Service Connect\n\n\n\nApplicable backend service types can be:\n \n - A global backend service with the loadBalancingScheme set to\n INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. \n - A regional backend\n service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and\n loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not\n supported for Serverless NEGs.\n\n\n\nNot supported when the backend service is referenced by a URL map that is\nbound to target gRPC proxy that has validateForProxyless field set to true." @@ -59693,6 +60104,17 @@ }, "type": "object" }, + "BackendServiceOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend service.", + "id": "BackendServiceOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The resource URI of the resource or system that manages the backend\nservice.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceParams": { "description": "Additional Backend Service parameters.", "id": "BackendServiceParams", @@ -60848,6 +61270,11 @@ "description": "Defines the instance scheduling options.", "id": "CapacityAdviceRequestInstancePropertiesScheduling", "properties": { + "maxRunDuration": { + "description": "The maximum time that instances can run before Compute Engine\nterminates them.", + "format": "google-duration", + "type": "string" + }, "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ @@ -60905,6 +61332,12 @@ "format": "google-duration", "type": "string" }, + "estimatedWaitDuration": { + "description": "Output only. The likely maximum time that you will have to wait until\nCompute Engine provisions your instances.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, "obtainability": { "description": "The obtainability score indicates the likelihood of successfully\nobtaining (provisioning) the requested number of VMs.\nThe score range is 0.0 through 1.0. Higher is better.", "format": "double", @@ -62048,6 +62481,40 @@ }, "type": "object" }, + "CompositeHealthCheckHealth": { + "description": "Response message for RegionCompositeHealthChecks.GetHealth", + "id": "CompositeHealthCheckHealth", + "properties": { + "healthSources": { + "description": "Health sources and their corresponding health states.", + "items": { + "$ref": "CompositeHealthChecksGetHealthResponseHealthSourceHealth" + }, + "type": "array" + }, + "healthState": { + "description": "Health state of the CompositeHealthCheck.", + "enum": [ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "compute#compositeHealthCheckHealth", + "description": "Output only. [Output Only] Type of resource. Alwayscompute#compositeHealthCheckHealth for the health of\ncomposite health checks.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "CompositeHealthCheckList": { "id": "CompositeHealthCheckList", "properties": { @@ -62203,34 +62670,6 @@ }, "type": "object" }, - "CompositeHealthChecksGetHealthResponse": { - "description": "Response message for RegionCompositeHealthChecks.GetHealth", - "id": "CompositeHealthChecksGetHealthResponse", - "properties": { - "healthSources": { - "description": "Health sources and their corresponding health states.", - "items": { - "$ref": "CompositeHealthChecksGetHealthResponseHealthSourceHealth" - }, - "type": "array" - }, - "healthState": { - "description": "Health state of the CompositeHealthCheck.", - "enum": [ - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "CompositeHealthChecksGetHealthResponseHealthSourceHealth": { "id": "CompositeHealthChecksGetHealthResponseHealthSourceHealth", "properties": { @@ -62249,7 +62688,7 @@ "type": "string" }, "source": { - "description": "URL of the associated HealthSource resource.", + "description": "Fully qualified URL of the associated HealthSource resource.", "type": "string" } }, @@ -62875,6 +63314,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", @@ -63265,13 +63755,6 @@ "description": "URL of the disk type resource describing which disk type to use to create\nthe disk. Provide this when creating the disk. For example:projects/project/zones/zone/diskTypes/pd-ssd. See Persistent disk\ntypes.", "type": "string" }, - "userLicenses": { - "description": "A list of publicly visible user-licenses. Unlike regular licenses, user\nprovided licenses can be modified after the disk is created. This includes\na list of URLs to the license resource. For example, to provide a debian\nlicense:\n\nhttps://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch", - "items": { - "type": "string" - }, - "type": "array" - }, "users": { "description": "Output only. [Output Only] Links to the users of the disk (attached instances)\nin form:projects/project/zones/zone/instances/instance", "items": { @@ -63487,6 +63970,32 @@ }, "type": "object" }, + "DiskConvertParams": { + "id": "DiskConvertParams", + "properties": { + "forceStopInProgressSnapshot": { + "type": "boolean" + }, + "provisionedIops": { + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "format": "int64", + "type": "string" + }, + "quickConversionOnly": { + "type": "boolean" + }, + "resetSupportedVmFamilies": { + "type": "boolean" + }, + "targetDiskType": { + "type": "string" + } + }, + "type": "object" + }, "DiskInstantiationConfig": { "description": "A specification of the desired way to instantiate a disk in the instance\ntemplate when its created from a source instance.", "id": "DiskInstantiationConfig", @@ -63744,7 +64253,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -64404,6 +64913,15 @@ }, "type": "object" }, + "DisksConvertRequest": { + "id": "DisksConvertRequest", + "properties": { + "params": { + "$ref": "DiskConvertParams" + } + }, + "type": "object" + }, "DisksRemoveResourcePoliciesRequest": { "id": "DisksRemoveResourcePoliciesRequest", "properties": { @@ -67377,6 +67895,10 @@ "FutureReservation": { "id": "FutureReservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE\ndeployment type future reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Aggregate reservation details for the future reservation." @@ -67397,6 +67919,17 @@ "$ref": "FutureReservationCommitmentInfo", "description": "If not present, then FR will not deliver a new commitment or update an\nexisting commitment." }, + "confidentialComputeType": { + "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_TDX", + "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Intel Trust Domain Extensions.", + "" + ], + "type": "string" + }, "creationTimestamp": { "description": "Output only. [Output Only] The creation timestamp for this future reservation inRFC3339\ntext format.", "readOnly": true, @@ -68427,6 +68960,7 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "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" ], "enumDescriptions": [ @@ -68437,6 +68971,7 @@ "", "", "", + "", "" ], "type": "string" @@ -68638,6 +69173,35 @@ }, "type": "object" }, + "GetVersionOperationMetadata": { + "id": "GetVersionOperationMetadata", + "properties": { + "inlineSbomInfo": { + "$ref": "GetVersionOperationMetadataSbomInfo" + } + }, + "type": "object" + }, + "GetVersionOperationMetadataSbomInfo": { + "id": "GetVersionOperationMetadataSbomInfo", + "properties": { + "currentComponentVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "SBOM versions currently applied to the resource. The key is the component\nname and the value is the version.", + "type": "object" + }, + "targetComponentVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "SBOM versions scheduled for the next maintenance. The key is the\ncomponent name and the value is the version.", + "type": "object" + } + }, + "type": "object" + }, "GlobalAddressesMoveRequest": { "id": "GlobalAddressesMoveRequest", "properties": { @@ -69719,7 +70283,7 @@ "id": "HaController", "properties": { "backendServices": { - "description": "Advanced configuration option. If specified, these Backend Services need to\nbe pre-created and configured as managed.", + "description": "Advanced configuration option. If specified, these Backend Services need to\nbe pre-created.\n\nCurrently, only one backend service can be specified, and it must be L4\nInternal Load Balancer (ILB).", "items": { "type": "string" }, @@ -72617,6 +73181,40 @@ }, "type": "object" }, + "HealthSourceHealth": { + "description": "Response message for RegionHealthSources.GetHealth", + "id": "HealthSourceHealth", + "properties": { + "healthState": { + "description": "Health state of the HealthSource.", + "enum": [ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "compute#healthSourceHealth", + "description": "Output only. [Output Only] Type of resource. Alwayscompute#healthSourceHealth for the health of health sources.", + "readOnly": true, + "type": "string" + }, + "sources": { + "description": "Health state details of the sources.", + "items": { + "$ref": "HealthSourcesGetHealthResponseSourceInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "HealthSourceList": { "id": "HealthSourceList", "properties": { @@ -72772,6 +73370,47 @@ }, "type": "object" }, + "HealthSourcesGetHealthResponseSourceInfo": { + "id": "HealthSourcesGetHealthResponseSourceInfo", + "properties": { + "backends": { + "description": "Represents an instance group or network endpoint group behind the source\nbackend service. Only used if the sourceType of the regionHealthSource\nis BACKEND_SERVICE.", + "items": { + "$ref": "HealthSourcesGetHealthResponseSourceInfoBackendInfo" + }, + "type": "array" + }, + "forwardingRule": { + "description": "Fully qualified URL of the forwarding rule associated with the source\nresource if it is a L4ILB backend service.", + "type": "string" + }, + "source": { + "description": "Fully qualified URL of the associated source resource. This is always a\nbackend service URL.", + "type": "string" + } + }, + "type": "object" + }, + "HealthSourcesGetHealthResponseSourceInfoBackendInfo": { + "id": "HealthSourcesGetHealthResponseSourceInfoBackendInfo", + "properties": { + "endpointCount": { + "description": "Total number of endpoints when determining the health of the\nregionHealthSource.", + "format": "int32", + "type": "integer" + }, + "group": { + "description": "Fully qualified URL of an instance group or network endpoint group\nbehind the source backend service.", + "type": "string" + }, + "healthyEndpointCount": { + "description": "Number of endpoints considered healthy when determining health of the\nregionHealthSource.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "HealthSourcesScopedList": { "id": "HealthSourcesScopedList", "properties": { @@ -74200,13 +74839,6 @@ "type": "string" }, "type": "array" - }, - "userLicenses": { - "description": "A list of publicly visible user-licenses. Unlike regular licenses, user\nprovided licenses can be modified after the disk is created. This includes\na list of URLs to the license resource. For example, to provide a debian\nlicense:\n\nhttps://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -74386,7 +75018,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -75741,6 +76373,12 @@ "readOnly": true, "type": "integer" }, + "restartingInPlace": { + "description": "Output only. [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. [Output Only] The number of instances in the managed instance group that\nare scheduled to be resumed or are currently being resumed.", "format": "int32", @@ -76316,7 +76954,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to bind to the managed instance group. The tags are\nkey-value pairs. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. For more information, seeManage tags\nfor resources.", + "description": "Input only. Resource manager tags to bind to the managed instance group. The tags are\nkey-value pairs. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. For more information, seeManage tags\nfor resources.", "type": "object" } }, @@ -77156,6 +77794,18 @@ "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "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": [ @@ -77187,13 +77837,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" }, @@ -77203,13 +77855,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" }, @@ -77283,6 +77937,18 @@ "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" }, + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "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": { @@ -77296,13 +77962,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" }, @@ -77312,13 +77980,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" }, @@ -77328,19 +77998,45 @@ "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" } }, "type": "object" }, + "InstanceGroupManagersConfigureAcceleratorTopologiesRequest": { + "description": "InstanceGroupManagers.ConfigureAcceleratorTopologies", + "id": "InstanceGroupManagersConfigureAcceleratorTopologiesRequest", + "properties": { + "acceleratorTopologyActions": { + "additionalProperties": { + "enum": [ + "ACCELERATOR_TOPOLOGY_ACTION_UNSPECIFIED", + "ACTIVATE", + "DEACTIVATE" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "The accelerator topology is to be activated.", + "The accelerator topology is to be deactivated." + ], + "type": "string" + }, + "description": "Map of accelerator topologies that should have their state changed to\nthe specified value. The key is the hashed topology locus id. It can be\nobtained from the GetAvailableAcceleratorTopologies rpc.", + "type": "object" + } + }, + "type": "object" + }, "InstanceGroupManagersCreateInstancesRequest": { "description": "InstanceGroupManagers.createInstances", "id": "InstanceGroupManagersCreateInstancesRequest", @@ -77402,6 +78098,10 @@ }, "description": "The accelerator topology information returned per id of the topology\nlocation.", "type": "object" + }, + "multiMig": { + "description": "URL to MMIG this MIG belongs to.", + "type": "string" } }, "type": "object" @@ -77417,14 +78117,115 @@ "enum": [ "DEGRADED", "HEALTHY", - "UNHEALTHY" + "UNHEALTHY", + "UNKNOWN" ], "enumDescriptions": [ "All VM are in RUNNING state, but there is an issue with\nthe inter-chip connectivity that makes this part\nof the infrastructure ready to use as a working\ninter-chip connected group only in a degraded mode.\nThis is allowed only for Instances configured with ICI\nresiliency", "All VM are in RUNNING state, there are no issues with the\ninter-chip connectivity.", - "Some VMs may not be in RUNNING state, or there is an\nissue with the inter-chip connectivity that makes this\npart of the infrastructure unsuitable for forming a\nworking inter-chip connected group." + "Some VMs may not be in RUNNING state, or there is an\nissue with the inter-chip connectivity that makes this\npart of the infrastructure unsuitable for forming a\nworking inter-chip connected group.", + "No signal available" + ], + "type": "string" + }, + "acceleratorTopologyState": { + "$ref": "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState" + }, + "instancesHealth": { + "enum": [ + "ALL_HEALTHY", + "UNHEALTHY_OR_MISSING" + ], + "enumDescriptions": [ + "Infrastructure is healthy", + "Some VMs are in another state than RUNNING or they are missing." ], "type": "string" + }, + "parent": { + "description": "Identified by the topology Id in the accelerator_topology_info map. Empty\nfor the top-level topology", + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState": { + "description": "Specifies the topology state", + "id": "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState", + "properties": { + "currentState": { + "enum": [ + "ACTIVATING", + "ACTIVE", + "ACTIVE_DEGRADED", + "DEACTIVATING", + "FAILED", + "INACTIVE", + "INCOMPLETE" + ], + "enumDescriptions": [ + "", + "", + "The topology is active but with potential performance degradation.", + "", + "Critical non-retriable error that the user has to act manually", + "", + "Not all VMs have been provisioned" + ], + "type": "string" + }, + "error": { + "description": "Reason why the topology state change failed", + "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" + }, + "errorTimestamp": { + "description": "Timestamp when the last error happened", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -78700,7 +79501,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -78843,7 +79644,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and\nvalues are in the format `tagValues/456`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and\nvalues are in the format `tagValues/456`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" }, "resourcePolicies": { @@ -81055,7 +81856,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -86548,7 +87349,7 @@ "additionalProperties": { "$ref": "LocationPolicyLocation" }, - "description": "Location configurations mapped by location name.\nCurrently only zone names are supported and must be represented as valid\ninternal URLs, such as zones/us-central1-a.", + "description": "Location configurations mapped by location name.\nCurrently only zone names are supported and must be represented as valid\ninternal URLs, such as zones/us-central1-a.\nThe bulkInsert operation doesn't create instances in an AI zone, even if\nan AI zone is available in the specified region. For example, if you set a\nDENY preference for us-central1-a, Compute Engine will consider\nus-central1-b and us-central1-c for instance creation, but not\nus-central1-ai1a. Also, you can't use the locations[] configuration to\nallow instance creation in an AI zone. To include an AI zone in bulkInsert\noperations, use the locationPolicy.zones[] field.", "type": "object" }, "targetShape": { @@ -86566,7 +87367,7 @@ "type": "string" }, "zones": { - "description": "List with zones where bulk will create instances.", + "description": "The bulkInsert operation applies any preferences set in the locations\nfield to the specific zones listed in the zones field if the same zones\nare specified in both fields.", "items": { "$ref": "LocationPolicyZoneConfiguration" }, @@ -86622,7 +87423,7 @@ "id": "LocationPolicyZoneConfiguration", "properties": { "zone": { - "description": "The URL of thezone.\nThe zone must exist in the region where the request is called.\nZones must be represented as valid internal URLs,\nsuch as zones/us-central1-a.", + "description": "The URL of the zone.\nThe zone must exist in the region where the request is called.\nZones must be represented as valid partial URLs,\nsuch as zones/us-central1-a.", "type": "string" } }, @@ -89928,7 +90729,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -96147,6 +96948,9 @@ }, "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" @@ -97803,6 +98607,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. 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." + ], + "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" + }, "Permission": { "description": "[Deprecated] All fields defined in a permission are ANDed.", "id": "Permission", @@ -101479,13 +102331,6 @@ "type": "string" }, "type": "array" - }, - "userLicenses": { - "description": "[Output Only] A list of user provided licenses represented by a list of\nURLs to the license resource.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -102804,6 +103649,18 @@ "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" }, + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "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": { @@ -102817,13 +103674,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" }, @@ -102833,13 +103692,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" }, @@ -102849,13 +103710,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" } @@ -104015,6 +104878,17 @@ "readOnly": true, "type": "string" }, + "confidentialComputeType": { + "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_TDX", + "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Intel Trust Domain Extensions.", + "" + ], + "type": "string" + }, "creationTimestamp": { "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", "readOnly": true, @@ -104046,6 +104920,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -105093,6 +105981,29 @@ }, "type": "object" }, + "ReservationSlotsGetVersionRequest": { + "id": "ReservationSlotsGetVersionRequest", + "properties": { + "sbomSelections": { + "description": "The SBOM selection to return. Duplicate values in the list will be ignored.", + "items": { + "enum": [ + "SBOM_SELECTION_CURRENT", + "SBOM_SELECTION_TARGET", + "SBOM_SELECTION_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationSlotsListResponse": { "description": "A list of reservation slots within a single reservation.", "id": "ReservationSlotsListResponse", @@ -105415,6 +106326,29 @@ }, "type": "object" }, + "ReservationSubBlocksGetVersionRequest": { + "id": "ReservationSubBlocksGetVersionRequest", + "properties": { + "sbomSelections": { + "description": "The SBOM selection to return.", + "items": { + "enum": [ + "SBOM_SELECTION_CURRENT", + "SBOM_SELECTION_TARGET", + "SBOM_SELECTION_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationSubBlocksListResponse": { "description": "A list of reservation subBlocks under a single reservation.", "id": "ReservationSubBlocksListResponse", @@ -107030,6 +107964,10 @@ "description": "Effective enable-oslogin value at Instance level.", "type": "boolean" }, + "gceContainerDeclarationMetadataValue": { + "description": "Effective gce-container-declaration value at Instance level.", + "type": "boolean" + }, "serialPortEnableMetadataValue": { "description": "Effective serial-port-enable value at Instance level.", "type": "boolean" @@ -108281,12 +109219,16 @@ "ACTIVE", "DROPPED", "INACTIVE", + "OVERRIDDEN_BY_HUB", + "OVERRIDDEN_BY_PEERING", "PENDING" ], "enumDescriptions": [ "This route is processed and active.", "The route is dropped due to the VPC exceeding the dynamic route limit.\n For dynamic route limit, please refer to the\nLearned route example", "This route is processed but inactive due to failure from the backend. The\nbackend may have rejected the route", + "For an Arcus VPC Peering route, this state indicates that the route is\ninactive because a corresponding Network Connectivity Center (NCC) route\nhas taken precedence.", + "For a Network Connectivity Center (NCC) route, this state indicates that\nthe route is inactive because a corresponding Arcus VPC Peering route\nhas taken precedence.", "This route is being processed internally. The status will change once\nprocessed." ], "type": "string" @@ -114409,13 +115351,6 @@ "type": "string" }, "type": "array" - }, - "userLicenses": { - "description": "[Output Only] A list of user provided licenses represented by a list of\nURLs to the license resource.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -114882,7 +115817,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -116472,6 +117407,20 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "postQuantumKeyExchange": { + "description": "One of DEFAULT, ENABLED, orDEFERRED. Controls whether the load balancer allows\nnegotiating X25519MLKEM768 key exchange when clients advertise support for\nit. When set to DEFAULT, or if no SSL Policy is\nattached to the target proxy, the load balancer disallows X25519MLKEM768\nkey exchange until it is enabled by default on LBs. When set toENABLED, the load balancer will negotiate X25519MLKEM768 key\nexchange. Customers can set this to DEFERRED to temporarily\nopt-out the LB from negotiating post-quantum key exchange by default.", + "enum": [ + "DEFAULT", + "DEFERRED", + "ENABLED" + ], + "enumDescriptions": [ + "Post-quantum key exchange is disabled until it becomes enabled by\ndefault on LBs.", + "Post-quantum key exchange with clients is temporarily disabled.", + "Post-quantum key exchange is enabled." + ], + "type": "string" + }, "profile": { "description": "Profile specifies the set of SSL features that can be used by the load\nbalancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, MODERN, RESTRICTED, orCUSTOM. If using CUSTOM, the set of SSL features\nto enable must be specified in the customFeatures field.", "enum": [ @@ -123545,6 +124494,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" + }, "TlsCertificateContext": { "description": "[Deprecated] Defines the mechanism to obtain the client or server\ncertificate.\nDefines the mechanism to obtain the client or server certificate.", "id": "TlsCertificateContext", @@ -125243,7 +126207,7 @@ "additionalProperties": { "$ref": "VmExtensionPolicyExtensionPolicy" }, - "description": "Required. A map of extension names (e.g., \"cloudops\") to their corresponding policy\nconfigurations.", + "description": "Required. A map of extension names (for example, \"ops-agent\") to their corresponding\npolicy configurations.", "type": "object" }, "globalResourceLink": { @@ -125286,7 +126250,7 @@ "type": "string" }, "priority": { - "description": "Optional. Priority of this policy. Used to resolve conflicts when multiple policies\napply to the same extension.\nThe policy priority is an integer from 0 to 65535, inclusive. Lower\nintegers indicate higher priorities. If you do not specify a priority when\ncreating a rule, it is assigned a priority of 1000. If priorities are\nequal, the policy with the more recent creation timestamp takes precedence.", + "description": "Optional. Priority of this policy. Used to resolve conflicts when multiple policies\napply to the same extension.\nThe policy priority is an integer from 0 to 65535, inclusive. Lower\nintegers indicate higher priorities. If you do not specify a priority when\ncreating a rule, it is assigned a priority of 1000. If priorities are\nequal, the policy with the most recent creation timestamp takes precedence.", "format": "int32", "type": "integer" }, @@ -125743,6 +126707,10 @@ ], "type": "string" }, + "healthMsg": { + "description": "The health status message of the extension.", + "type": "string" + }, "healthStatus": { "description": "The health status of the extension.", "enum": [ @@ -125771,10 +126739,6 @@ "description": "The id of the policy that is enforced on the extension.", "type": "string" }, - "unhealthyMsg": { - "description": "The status message of the extension if the extension is in unhealthy\nstate.", - "type": "string" - }, "version": { "description": "The version of the extension.", "type": "string" @@ -127989,6 +128953,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" @@ -128170,6 +129138,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-beta.json b/discovery/compute-beta.json index ae9315ea4d2..701b2a6660a 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -6822,7 +6822,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -19294,7 +19294,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -32826,7 +32826,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -50445,7 +50445,7 @@ } } }, - "revision": "20260122", + "revision": "20260206", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -52055,7 +52055,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -56427,6 +56427,132 @@ }, "type": "object" }, + "CachePolicy": { + "description": "Message containing CachePolicy configuration for URL Map's Route Action.", + "id": "CachePolicy", + "properties": { + "cacheBypassRequestHeaderNames": { + "description": "Bypass the cache when the specified request headers are matched by name,\ne.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5\nheader names can be specified. The cache is bypassed for all\ncachePolicy.cacheMode settings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "cacheKeyPolicy": { + "$ref": "CachePolicyCacheKeyPolicy", + "description": "The CacheKeyPolicy for this CachePolicy." + }, + "cacheMode": { + "description": "Specifies the cache setting for all responses from this route.\nIf not specified, the default value is CACHE_ALL_STATIC.", + "enum": [ + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "USE_ORIGIN_HEADERS" + ], + "enumDescriptions": [ + "Automatically cache static content, including common image formats,\nmedia (video and audio), and web assets (JavaScript and CSS).\nRequests and responses that are marked as uncacheable, as well as\ndynamic content (including HTML), will not be cached.", + "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\"\ndirectives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.", + "Requires the origin to set valid caching headers to cache content.\nResponses without these headers will not be cached at the edge, and will\nrequire a full trip to the origin on every request, potentially impacting\nperformance and increasing load on the origin server." + ], + "type": "string" + }, + "clientTtl": { + "$ref": "Duration", + "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is\nused to clamp the max-age (or Expires) value sent to the client. With\nFORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the\nresponse max-age directive, along with a \"public\" directive. For\ncacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age\nfrom the origin (if specified), or else sets the response max-age\ndirective to the lesser of the client_ttl and default_ttl, and also\nensures a \"public\" cache-control directive is present.\nIf a client TTL is not specified, a default value (1 hour) will be used.\nThe maximum allowed value is 31,622,400s (1 year)." + }, + "defaultTtl": { + "$ref": "Duration", + "description": "Specifies the default TTL for cached content served by this origin for\nresponses that do not have an existing valid TTL (max-age or s-maxage).\nSetting a TTL of \"0\" means \"always revalidate\".\nThe value of defaultTTL cannot be set to a value greater than that of\nmaxTTL.\nWhen the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL\nwill overwrite the TTL set in all responses. The maximum allowed value is\n31,622,400s (1 year). Infrequently accessed objects may be evicted from\nthe cache before the defined TTL." + }, + "maxTtl": { + "$ref": "Duration", + "description": "Specifies the maximum allowed TTL for cached content served by this\norigin.\nCache directives that attempt to set a max-age or s-maxage higher than\nthis, or an Expires header more than maxTTL seconds in the future will\nbe capped at the value of maxTTL, as if it were the value of an\ns-maxage Cache-Control directive.\nHeaders sent to the client will not be modified.\nSetting a TTL of \"0\" means \"always revalidate\".\nThe maximum allowed value is 31,622,400s (1 year). Infrequently accessed\nobjects may be evicted from the cache before the defined TTL." + }, + "negativeCaching": { + "description": "Negative caching allows per-status code TTLs to be set, in order\nto apply fine-grained caching for common errors or redirects.\nThis can reduce the load on your origin and improve end-user\nexperience by reducing response latency.\nWhen the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS,\nnegative caching applies to responses with the specified response code\nthat lack any Cache-Control, Expires, or Pragma: no-cache directives.\nWhen the cache mode is set to FORCE_CACHE_ALL, negative caching applies\nto all responses with the specified response code, and override any\ncaching headers.\nBy default, Cloud CDN will apply the following default TTLs to these\nstatus codes:\nHTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m\nHTTP 404 (Not Found), 410 (Gone),\n451 (Unavailable For Legal Reasons): 120s\nHTTP 405 (Method Not Found), 501 (Not Implemented): 60s.\nThese defaults can be overridden in negative_caching_policy.", + "type": "boolean" + }, + "negativeCachingPolicy": { + "description": "Sets a cache TTL for the specified HTTP status code.\nnegative_caching must be enabled to configure negative_caching_policy.\nOmitting the policy and leaving negative_caching enabled will use\nCloud CDN's default cache TTLs.\nNote that when specifying an explicit negative_caching_policy, you\nshould take care to specify a cache TTL for all response codes\nthat you wish to cache. Cloud CDN will not apply any default\nnegative caching when a policy exists.", + "items": { + "$ref": "CachePolicyNegativeCachingPolicy" + }, + "type": "array" + }, + "requestCoalescing": { + "description": "If true then Cloud CDN will combine multiple concurrent cache fill\nrequests into a small number of requests to the origin.", + "type": "boolean" + }, + "serveWhileStale": { + "$ref": "Duration", + "description": "Serve existing content from the cache (if available) when revalidating\ncontent with the origin, or when an error is encountered when refreshing\nthe cache.\nThis setting defines the default \"max-stale\" duration for any cached\nresponses that do not specify a max-stale directive. Stale responses that\nexceed the TTL configured here will not be served. The default limit\n(max-stale) is 86400s (1 day), which will allow stale content to be\nserved up to this limit beyond the max-age (or s-maxage) of a cached\nresponse.\nThe maximum allowed value is 604800 (1 week).\nSet this to zero (0) to disable serve-while-stale." + } + }, + "type": "object" + }, + "CachePolicyCacheKeyPolicy": { + "description": "Message containing what to include in the cache key for a request for Cache\nPolicy defined on Route Action.", + "id": "CachePolicyCacheKeyPolicy", + "properties": { + "excludedQueryParameters": { + "description": "Names of query string parameters to exclude in cache keys. All other\nparameters will be included. Either specify excluded_query_parameters or\nincluded_query_parameters, not both. '&' and '=' will be percent encoded\nand not treated as delimiters.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use includedQueryParameters to define which parameters should\nbe a part of the cache key.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includeHost": { + "description": "If true, requests to different hosts will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nhost is never included in a Backend Bucket's cache key. Attempting to set\nit on a route that points exclusively to Backend Buckets will result in a\nconfiguration error.", + "type": "boolean" + }, + "includeProtocol": { + "description": "If true, http and https requests will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nprotocol is never included in a Backend Bucket's cache key. Attempting to\nset on a route that points exclusively to Backend Buckets will result in\na configuration error.", + "type": "boolean" + }, + "includeQueryString": { + "description": "If true, include query string parameters in the cache key according to\nincluded_query_parameters and excluded_query_parameters. If neither is\nset, the entire query string will be included. If false, the query string\nwill be excluded from the cache key entirely.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use includedQueryParameters to define which parameters should\nbe a part of the cache key.", + "type": "boolean" + }, + "includedCookieNames": { + "description": "Allows HTTP cookies (by name) to be used in the cache key.\nThe name=value pair will be used in the cache key Cloud CDN generates.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket.\nAttempting to set it on a route that points exclusively to Backend\nBuckets will result in a configuration error. Up to 5 cookie names can be\nspecified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedHeaderNames": { + "description": "Allows HTTP request headers (by name) to be used in the cache key.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedQueryParameters": { + "description": "Names of query string parameters to include in cache keys. All other\nparameters will be excluded. Either specify included_query_parameters or\nexcluded_query_parameters, not both. '&' and '=' will be percent encoded\nand not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CachePolicyNegativeCachingPolicy": { + "description": "Specify CDN TTLs for response error codes.", + "id": "CachePolicyNegativeCachingPolicy", + "properties": { + "code": { + "description": "The HTTP status code to define a TTL against. Only HTTP status codes\n300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be\nspecified as values, and you cannot specify a status code more than\nonce.", + "format": "int32", + "type": "integer" + }, + "ttl": { + "$ref": "Duration", + "description": "The TTL (in seconds) for which to cache responses with the\ncorresponding status code.\nThe maximum allowed value is 1800s (30 minutes). Infrequently accessed\nobjects may be evicted from the cache before the defined TTL." + } + }, + "type": "object" + }, "CalendarModeAdviceRequest": { "description": "A request to recommend the best way to consume the specified resources in the\nfuture.", "id": "CalendarModeAdviceRequest", @@ -62390,6 +62516,10 @@ "FutureReservation": { "id": "FutureReservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE\ndeployment type future reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Aggregate reservation details for the future reservation." @@ -67037,6 +67167,10 @@ "HttpRouteAction": { "id": "HttpRouteAction", "properties": { + "cachePolicy": { + "$ref": "CachePolicy", + "description": "Cache policy for this URL Map’s route. Available only for Global\nEXTERNAL_MANAGED load balancer schemes." + }, "corsPolicy": { "$ref": "CorsPolicy", "description": "The specification for allowing client-side cross-origin requests. For more\ninformation about the W3C recommendation for cross-origin resource sharing\n(CORS), see Fetch API Living\nStandard.\n\nNot supported when the URL map is bound to a target gRPC proxy." @@ -68175,6 +68309,9 @@ "$ref": "Tags", "description": "Tags to apply to this instance. Tags are used to identify valid\nsources or targets for network firewalls and are specified by the client\nduring instance creation. The tags can be later modified by the setTags\nmethod. Each tag within the list must comply withRFC1035.\nMultiple tags can be specified via the 'tags.items' field." }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" + }, "zone": { "description": "Output only. [Output Only] URL of the zone where the instance resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -70086,6 +70223,11 @@ "description": "Output only. [Output Only] The status of bulk instance operation.", "readOnly": true }, + "currentInstanceStatuses": { + "$ref": "InstanceGroupManagerStatusInstanceStatusSummary", + "description": "Output only. [Output Only] The list of instance statuses and the number of instances\nin this managed instance group that have the status. Currently only shown\nfor TPU MIGs", + "readOnly": true + }, "isStable": { "description": "Output only. [Output Only] A bit indicating whether the managed instance group is in a\nstable state. A stable state means that: none of the instances in the\nmanaged instance group is currently undergoing any type of change (for\nexample, creation, restart, or deletion); no future changes are scheduled\nfor instances in the managed instance group; and the managed instance\ngroup itself is not being modified.", "readOnly": true, @@ -70198,6 +70340,91 @@ }, "type": "object" }, + "InstanceGroupManagerStatusInstanceStatusSummary": { + "description": "The list of instance statuses and the number of instances in this managed\ninstance group that have the status. For more information about how to\ninterpret each status check the instance lifecycle documentation.\nCurrently only shown for TPU MIGs.", + "id": "InstanceGroupManagerStatusInstanceStatusSummary", + "properties": { + "deprovisioning": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have DEPROVISIONING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "nonExistent": { + "description": "Output only. [Output Only] The number of instances that have not been created yet or\nhave been deleted. Includes only instances that would be shown in the\nlistManagedInstances method and not all instances that have been\ndeleted in the lifetime of the MIG.\nDoes not include FlexStart instances that are waiting for the resources\navailability, they are considered as 'pending'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "pending": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PENDING status, that is FlexStart instances that are waiting\nfor resources. Instances that do not exist because of the other reasons\nare counted as 'non_existent'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "pendingStop": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PENDING_STOP status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "provisioning": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PROVISIONING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "repairing": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have REPAIRING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "running": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have RUNNING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "staging": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STAGING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "stopped": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STOPPED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "stopping": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STOPPING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "suspended": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have SUSPENDED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "suspending": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have SUSPENDING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "terminated": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have TERMINATED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "InstanceGroupManagerStatusStateful": { "id": "InstanceGroupManagerStatusStateful", "properties": { @@ -71945,6 +72172,9 @@ "tags": { "$ref": "Tags", "description": "A list of tags to apply to the instances that are created from these\nproperties. The tags identify valid sources or targets for network\nfirewalls. The setTags method can modify this list of tags. Each tag within\nthe list must comply with RFC1035." + }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" } }, "type": "object" @@ -73120,6 +73350,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "InstantSnapshotParams", + "description": "Input only. Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "Output only. [Output Only] URL of the region where the instant snapshot resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -73640,6 +73874,20 @@ }, "type": "object" }, + "InstantSnapshotParams": { + "description": "Additional instant snapshot params.", + "id": "InstantSnapshotParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and\nvalues have the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "InstantSnapshotResourceStatus": { "id": "InstantSnapshotResourceStatus", "properties": { @@ -74049,7 +74297,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -81372,7 +81620,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -82519,6 +82767,10 @@ }, "type": "array" }, + "enableVpcScopedDns": { + "description": "Optional. If true, DNS resolution will be enabled over this interface. Only valid\nwith network_attachment.", + "type": "boolean" + }, "fingerprint": { "description": "Fingerprint hash of contents stored in this network interface.\nThis field will be ignored when inserting an Instance or\nadding a NetworkInterface. An up-to-date\nfingerprint must be provided in order to update theNetworkInterface. The request will fail with error400 Bad Request if the fingerprint is not provided, or412 Precondition Failed if the fingerprint is out of date.", "format": "byte", @@ -93047,6 +93299,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -95831,6 +96097,10 @@ "description": "Effective enable-oslogin value at Instance level.", "type": "boolean" }, + "gceContainerDeclarationMetadataValue": { + "description": "Effective gce-container-declaration value at Instance level.", + "type": "boolean" + }, "serialPortEnableMetadataValue": { "description": "Effective serial-port-enable value at Instance level.", "type": "boolean" @@ -99548,6 +99818,10 @@ "description": "Defines whether the instance is preemptible. This can only be set during\ninstance creation or while the instance isstopped and\ntherefore, in a `TERMINATED` state. SeeInstance Life\nCycle for more information on the possible instance states.", "type": "boolean" }, + "preemptionNoticeDuration": { + "$ref": "Duration", + "description": "Specifies the Metadata Service preemption notice duration before the GCE ACPI G2 Soft\n Off signal is triggered for Spot\n VMs only. If not specified, there will be no wait before the G2 Soft\n Off signal is triggered." + }, "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ @@ -115186,6 +115460,18 @@ }, "type": "object" }, + "WorkloadIdentityConfig": { + "id": "WorkloadIdentityConfig", + "properties": { + "identity": { + "type": "string" + }, + "identityCertificateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "XpnHostList": { "id": "XpnHostList", "properties": { diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 2c7a24c0598..60105a4c611 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -3671,7 +3671,7 @@ ] }, "update": { - "description": "Updates the specified disk with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask. Only the following fields can be modified: user_license.", + "description": "Updates the specified disk with the data included in the request.\nThe update is performed only on selected fields included as part\nof update-mask.", "flatPath": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "PATCH", "id": "compute.disks.update", @@ -4327,6 +4327,11 @@ "httpMethod": "GET", "id": "compute.firewallPolicies.listAssociations", "parameters": { + "includeInheritedPolicies": { + "description": "If set to \"true\", the response will contain a list of all associations for\nthe containing folders and the containing organization of the target. The\nparameter has no effect if the target is an organization.", + "location": "query", + "type": "boolean" + }, "targetResource": { "description": "The target resource to list associations. It is an organization, or a\nfolder.", "location": "query", @@ -6378,7 +6383,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -17594,7 +17599,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -25117,7 +25122,7 @@ ] }, "update": { - "description": "Update the specified disk with the data included in the request. Update is\nperformed only on selected fields included as part of update-mask. Only the\nfollowing fields can be modified: user_license.", + "description": "Update the specified disk with the data included in the request. Update is\nperformed only on selected fields included as part of update-mask.", "flatPath": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "PATCH", "id": "compute.regionDisks.update", @@ -25179,22 +25184,89 @@ } } }, - "regionHealthCheckServices": { + "regionHealthAggregationPolicies": { "methods": { + "aggregatedList": { + "description": "Retrieves the list of all HealthAggregationPolicy resources,\nregional and global, available to the specified project.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/healthAggregationPolicies", + "httpMethod": "GET", + "id": "compute.regionHealthAggregationPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "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" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.", + "location": "query", + "type": "boolean" + }, + "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" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\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" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/healthAggregationPolicies", + "response": { + "$ref": "HealthAggregationPolicyAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "delete": { - "description": "Deletes the specified regional HealthCheckService.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "description": "Deletes the specified HealthAggregationPolicy in the given region.", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "httpMethod": "DELETE", - "id": "compute.regionHealthCheckServices.delete", + "id": "compute.regionHealthAggregationPolicies.delete", "parameterOrder": [ "project", "region", - "healthCheckService" + "healthAggregationPolicy" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to delete. The name\nmust be 1-63 characters long, and comply with RFC1035.", + "healthAggregationPolicy": { + "description": "Name of the HealthAggregationPolicy 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" }, @@ -25218,7 +25290,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "response": { "$ref": "Operation" }, @@ -25228,19 +25300,20 @@ ] }, "get": { - "description": "Returns the specified regional HealthCheckService resource.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "description": "Returns the specified HealthAggregationPolicy resource in the given region.", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "httpMethod": "GET", - "id": "compute.regionHealthCheckServices.get", + "id": "compute.regionHealthAggregationPolicies.get", "parameterOrder": [ "project", "region", - "healthCheckService" + "healthAggregationPolicy" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to update. The name\nmust be 1-63 characters long, and comply with RFC1035.", + "healthAggregationPolicy": { + "description": "Name of the HealthAggregationPolicy 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" }, @@ -25259,9 +25332,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "response": { - "$ref": "HealthCheckService" + "$ref": "HealthAggregationPolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25270,10 +25343,10 @@ ] }, "insert": { - "description": "Creates a regional HealthCheckService resource in the\nspecified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices", + "description": "Create a HealthAggregationPolicy in the specified project in the given\nregion using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies", "httpMethod": "POST", - "id": "compute.regionHealthCheckServices.insert", + "id": "compute.regionHealthAggregationPolicies.insert", "parameterOrder": [ "project", "region" @@ -25299,9 +25372,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies", "request": { - "$ref": "HealthCheckService" + "$ref": "HealthAggregationPolicy" }, "response": { "$ref": "Operation" @@ -25312,10 +25385,10 @@ ] }, "list": { - "description": "Lists all the HealthCheckService resources that have been\nconfigured for the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices", + "description": "Lists the HealthAggregationPolicies for a project in the given region.", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies", "httpMethod": "GET", - "id": "compute.regionHealthCheckServices.list", + "id": "compute.regionHealthAggregationPolicies.list", "parameterOrder": [ "project", "region" @@ -25364,9 +25437,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies", "response": { - "$ref": "HealthCheckServicesList" + "$ref": "HealthAggregationPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25375,18 +25448,18 @@ ] }, "patch": { - "description": "Updates the specified regional HealthCheckService resource\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "description": "Updates the specified regional HealthAggregationPolicy\nresource with the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "httpMethod": "PATCH", - "id": "compute.regionHealthCheckServices.patch", + "id": "compute.regionHealthAggregationPolicies.patch", "parameterOrder": [ "project", "region", - "healthCheckService" + "healthAggregationPolicy" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to update. The name\nmust be 1-63 characters long, and comply with RFC1035.", + "healthAggregationPolicy": { + "description": "Name of the HealthAggregationPolicy to update. The name\nmust be 1-63 characters long, and comply with RFC1035.", "location": "path", "required": true, "type": "string" @@ -25411,9 +25484,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}", "request": { - "$ref": "HealthCheckService" + "$ref": "HealthAggregationPolicy" }, "response": { "$ref": "Operation" @@ -25425,9 +25498,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionHealthCheckServices.testIamPermissions", + "id": "compute.regionHealthAggregationPolicies.testIamPermissions", "parameterOrder": [ "project", "region", @@ -25456,7 +25529,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -25471,23 +25544,22 @@ } } }, - "regionHealthChecks": { + "regionHealthCheckServices": { "methods": { "delete": { - "description": "Deletes the specified HealthCheck resource.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "description": "Deletes the specified regional HealthCheckService.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", - "id": "compute.regionHealthChecks.delete", + "id": "compute.regionHealthCheckServices.delete", "parameterOrder": [ "project", "region", - "healthCheck" + "healthCheckService" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to delete.", + "healthCheckService": { + "description": "Name of the HealthCheckService to delete. The name\nmust be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -25511,7 +25583,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "response": { "$ref": "Operation" }, @@ -25521,20 +25593,19 @@ ] }, "get": { - "description": "Returns the specified HealthCheck resource.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "description": "Returns the specified regional HealthCheckService resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "GET", - "id": "compute.regionHealthChecks.get", + "id": "compute.regionHealthCheckServices.get", "parameterOrder": [ "project", "region", - "healthCheck" + "healthCheckService" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to return.", + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name\nmust be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -25553,9 +25624,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "response": { - "$ref": "HealthCheck" + "$ref": "HealthCheckService" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25564,10 +25635,10 @@ ] }, "insert": { - "description": "Creates a HealthCheck resource in the specified project using the data\nincluded in the request.", - "flatPath": "projects/{project}/regions/{region}/healthChecks", + "description": "Creates a regional HealthCheckService resource in the\nspecified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "POST", - "id": "compute.regionHealthChecks.insert", + "id": "compute.regionHealthCheckServices.insert", "parameterOrder": [ "project", "region" @@ -25593,9 +25664,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/healthCheckServices", "request": { - "$ref": "HealthCheck" + "$ref": "HealthCheckService" }, "response": { "$ref": "Operation" @@ -25606,10 +25677,10 @@ ] }, "list": { - "description": "Retrieves the list of HealthCheck resources available to the specified\nproject.", - "flatPath": "projects/{project}/regions/{region}/healthChecks", + "description": "Lists all the HealthCheckService resources that have been\nconfigured for the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "GET", - "id": "compute.regionHealthChecks.list", + "id": "compute.regionHealthCheckServices.list", "parameterOrder": [ "project", "region" @@ -25658,9 +25729,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/healthCheckServices", "response": { - "$ref": "HealthCheckList" + "$ref": "HealthCheckServicesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25669,10 +25740,109 @@ ] }, "patch": { - "description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "description": "Updates the specified regional HealthCheckService resource\nwith the data included in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "PATCH", - "id": "compute.regionHealthChecks.patch", + "id": "compute.regionHealthCheckServices.patch", + "parameterOrder": [ + "project", + "region", + "healthCheckService" + ], + "parameters": { + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name\nmust be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\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": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "request": { + "$ref": "HealthCheckService" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionHealthCheckServices.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "regionHealthChecks": { + "methods": { + "delete": { + "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "httpMethod": "DELETE", + "id": "compute.regionHealthChecks.delete", "parameterOrder": [ "project", "region", @@ -25680,7 +25850,202 @@ ], "parameters": { "healthCheck": { - "description": "Name of the HealthCheck resource to patch.", + "description": "Name of the HealthCheck resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\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": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "httpMethod": "GET", + "id": "compute.regionHealthChecks.get", + "parameterOrder": [ + "project", + "region", + "healthCheck" + ], + "parameters": { + "healthCheck": { + "description": "Name of the HealthCheck resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "response": { + "$ref": "HealthCheck" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a HealthCheck resource in the specified project using the data\nincluded in the request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks", + "httpMethod": "POST", + "id": "compute.regionHealthChecks.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\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": "projects/{project}/regions/{region}/healthChecks", + "request": { + "$ref": "HealthCheck" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of HealthCheck resources available to the specified\nproject.", + "flatPath": "projects/{project}/regions/{region}/healthChecks", + "httpMethod": "GET", + "id": "compute.regionHealthChecks.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\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" + }, + "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" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\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": "projects/{project}/regions/{region}/healthChecks", + "response": { + "$ref": "HealthCheckList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates a HealthCheck resource in the specified project using the data\nincluded in the request. This method supportsPATCH\nsemantics and uses theJSON merge\npatch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "httpMethod": "PATCH", + "id": "compute.regionHealthChecks.patch", + "parameterOrder": [ + "project", + "region", + "healthCheck" + ], + "parameters": { + "healthCheck": { + "description": "Name of the HealthCheck resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -28072,7 +28437,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -32402,7 +32767,7 @@ "methods": { "get": { "description": "Retrieves information about the specified reservation subBlock.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}", "httpMethod": "GET", "id": "compute.reservationSubBlocks.get", "parameterOrder": [ @@ -32415,6 +32780,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -32452,7 +32818,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}", "response": { "$ref": "ReservationSubBlocksGetResponse" }, @@ -32464,7 +32830,7 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.", - "flatPath": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/getIamPolicy", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/getIamPolicy", "httpMethod": "GET", "id": "compute.reservationSubBlocks.getIamPolicy", "parameterOrder": [ @@ -32509,7 +32875,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -32521,7 +32887,7 @@ }, "list": { "description": "Retrieves a list of reservation subBlocks under a single reservation.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks", "httpMethod": "GET", "id": "compute.reservationSubBlocks.list", "parameterOrder": [ @@ -32556,6 +32922,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -32577,7 +32944,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks", "response": { "$ref": "ReservationSubBlocksListResponse" }, @@ -32589,7 +32956,7 @@ }, "performMaintenance": { "description": "Allows customers to perform maintenance on a reservation subBlock", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", "httpMethod": "POST", "id": "compute.reservationSubBlocks.performMaintenance", "parameterOrder": [ @@ -32602,6 +32969,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -32629,7 +32997,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance", "response": { "$ref": "Operation" }, @@ -32640,7 +33008,7 @@ }, "reportFaulty": { "description": "Allows customers to report a faulty subBlock.", - "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", "httpMethod": "POST", "id": "compute.reservationSubBlocks.reportFaulty", "parameterOrder": [ @@ -32653,6 +33021,7 @@ "parentName": { "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", "location": "path", + "pattern": "^reservations/[^/]+/reservationBlocks/[^/]+$", "required": true, "type": "string" }, @@ -32680,7 +33049,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty", "request": { "$ref": "ReservationSubBlocksReportFaultyRequest" }, @@ -32694,7 +33063,7 @@ }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.", - "flatPath": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/setIamPolicy", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/setIamPolicy", "httpMethod": "POST", "id": "compute.reservationSubBlocks.setIamPolicy", "parameterOrder": [ @@ -32733,7 +33102,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/setIamPolicy", "request": { "$ref": "ZoneSetNestedPolicyRequest" }, @@ -32747,7 +33116,7 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/testIamPermissions", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{resource}/testIamPermissions", "httpMethod": "POST", "id": "compute.reservationSubBlocks.testIamPermissions", "parameterOrder": [ @@ -32786,7 +33155,7 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -43137,7 +43506,7 @@ } } }, - "revision": "20260122", + "revision": "20260213", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -44730,7 +45099,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -45018,7 +45387,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when\nempty.", + "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when\nempty.", "type": "object" }, "resourcePolicies": { @@ -45979,6 +46348,10 @@ "format": "float", "type": "number" }, + "orchestrationInfo": { + "$ref": "BackendBackendOrchestrationInfo", + "description": "Information about the resource or system that manages the backend." + }, "preference": { "description": "This field indicates whether this backend should be fully utilized before\nsending traffic to backends with default preference. The possible values\nare:\n \n - PREFERRED: Backends with this preference level will be\n filled up to their capacity limits first, based on RTT.\n - DEFAULT: If preferred backends don't have enough\n capacity, backends in this layer would be used and traffic would be\n assigned based on the load balancing algorithm you use. This is the\n default", "enum": [ @@ -45996,6 +46369,17 @@ }, "type": "object" }, + "BackendBackendOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend.", + "id": "BackendBackendOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The URI of the resource or system that manages the backend.", + "type": "string" + } + }, + "type": "object" + }, "BackendBucket": { "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load\nbalancer. For more information, readBackend Buckets.", "id": "BackendBucket", @@ -46658,6 +47042,10 @@ "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", "description": "Configures traffic steering properties of internal passthrough Network\nLoad Balancers.\n\nnetworkPassThroughLbTrafficPolicy cannot be specified with haPolicy." }, + "orchestrationInfo": { + "$ref": "BackendServiceOrchestrationInfo", + "description": "Information about the resource or system that manages the backend service." + }, "outlierDetection": { "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the\nload balancing pool of each individual proxy instance that processes the\ntraffic for the given backend service. If not set, this feature is\nconsidered disabled.\n\nResults of the outlier detection algorithm (ejection of endpoints from the\nload balancing pool and returning them back to the pool) are executed\nindependently by each proxy instance of the load balancer. In most cases,\nmore than one proxy instance handles the traffic received by a backend\nservice. Thus, it is possible that an unhealthy endpoint is detected and\nejected by only some of the proxies, and while this happens, other proxies\nmay continue to send requests to the same unhealthy endpoint until they\ndetect and eject the unhealthy endpoint.\n\nApplicable backend endpoints can be:\n \n - VM instances in an Instance Group\n - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT)\n - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT)\n - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud\n Functions Services \n - Private Service Connect NEGs, that resolve to\n Google-managed regional API endpoints or managed services published using\n Private Service Connect\n\n\n\nApplicable backend service types can be:\n \n - A global backend service with the loadBalancingScheme set to\n INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. \n - A regional backend\n service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and\n loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not\n supported for Serverless NEGs.\n\n\n\nNot supported when the backend service is referenced by a URL map that is\nbound to target gRPC proxy that has validateForProxyless field set to true." @@ -47702,6 +48090,17 @@ }, "type": "object" }, + "BackendServiceOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend service.", + "id": "BackendServiceOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The resource URI of the resource or system that manages the backend\nservice.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceParams": { "description": "Additional Backend Service parameters.", "id": "BackendServiceParams", @@ -50484,7 +50883,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the disk. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -51605,6 +52004,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "ExternalVpnGatewayParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted\nas part of resource payload." + }, "redundancyType": { "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", "enum": [ @@ -51807,6 +52210,19 @@ }, "type": "object" }, + "ExternalVpnGatewayParams": { + "id": "ExternalVpnGatewayParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource.\nTag keys and values have the same definition as resource\nmanager tags. The field is allowed for INSERT\nonly. The keys/values to set on the resource should be specified in\neither ID { : } or Namespaced format\n{ : }.\nFor example the following are valid inputs:\n* {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"}\n* {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"}\nNote:\n* Invalid combinations of ID & namespaced format is not supported. For\n instance: {\"123/environment\" : \"tagValues/444\"} is invalid.\n* Inconsistent format is not supported. For instance:\n {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "FileContentBuffer": { "id": "FileContentBuffer", "properties": { @@ -55373,155 +55789,18 @@ }, "type": "object" }, - "HealthCheck": { - "description": "Represents a health check resource.\n\nGoogle Compute Engine has two health check resources:\n\n* [Regional](/compute/docs/reference/rest/v1/regionHealthChecks)\n* [Global](/compute/docs/reference/rest/v1/healthChecks)\n\nThese health check resources can be used for load balancing and for\nautohealing VMs in a managed instance group (MIG).\n\n**Load balancing**\n\nHealth check requirements vary depending on the type of load balancer. For\ndetails about the type of health check supported for\neach load balancer and corresponding backend type,\nsee Health\nchecks overview: Load balancer guide.\n\n**Autohealing in MIGs**\n\nThe health checks that you use for autohealing VMs in a MIG can be either\nregional or global. For more information, see Set up an\napplication health check and autohealing.\n\nFor more information, seeHealth checks\noverview.", - "id": "HealthCheck", + "HealthAggregationPoliciesScopedList": { + "id": "HealthAggregationPoliciesScopedList", "properties": { - "checkIntervalSec": { - "description": "How often (in seconds) to send a health check. The default value is 5\nseconds.", - "format": "int32", - "type": "integer" - }, - "creationTimestamp": { - "description": "Output only. [Output Only] Creation timestamp in3339\ntext format.", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", - "type": "string" - }, - "grpcHealthCheck": { - "$ref": "GRPCHealthCheck" - }, - "grpcTlsHealthCheck": { - "$ref": "GRPCTLSHealthCheck" - }, - "healthyThreshold": { - "description": "A so-far unhealthy instance will be marked healthy after this\nmany consecutive successes. The default value is 2.", - "format": "int32", - "type": "integer" - }, - "http2HealthCheck": { - "$ref": "HTTP2HealthCheck" - }, - "httpHealthCheck": { - "$ref": "HTTPHealthCheck" - }, - "httpsHealthCheck": { - "$ref": "HTTPSHealthCheck" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#healthCheck", - "description": "Output only. Type of the resource.", - "readOnly": true, - "type": "string" - }, - "logConfig": { - "$ref": "HealthCheckLogConfig", - "description": "Configure logging on this health check." - }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nFor example, a name that is 1-63 characters long, matches the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with\nRFC1035. This regular expression describes a name where the first\ncharacter is a lowercase letter, and all following characters are a dash,\nlowercase letter, or digit, except the last character, which isn't a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "region": { - "description": "Output only. [Output Only] Region where the health check resides. Not applicable to\nglobal health checks.", - "readOnly": true, - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "sourceRegions": { - "description": "The list of cloud regions from which health checks are performed. If any\nregions are specified, then exactly 3 regions should be specified. The\nregion names must be valid names of Google Cloud regions.\nThis can only be set for global health check.\nIf this list is non-empty, then there are restrictions\non what other health check fields are supported and what other resources\ncan use this health check:\n \n - SSL, HTTP2, and GRPC protocols are not supported.\n - The TCP request field is not supported.\n - The proxyHeader field for HTTP, HTTPS, and TCP is not\n supported.\n - The checkIntervalSec field must be at least 30.\n - The health check cannot be used with BackendService nor with managed\n instance group auto-healing.", + "healthAggregationPolicies": { + "description": "A list of HealthAggregationPolicys contained in this scope.", "items": { - "type": "string" + "$ref": "HealthAggregationPolicy" }, "type": "array" }, - "sslHealthCheck": { - "$ref": "SSLHealthCheck" - }, - "tcpHealthCheck": { - "$ref": "TCPHealthCheck" - }, - "timeoutSec": { - "description": "How long (in seconds) to wait before claiming failure. The default value is\n5 seconds. It is invalid for timeoutSec to have greater\nvalue than checkIntervalSec.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2 or GRPC. Exactly one of the\nprotocol-specific health check fields must be specified, which must matchtype field.", - "enum": [ - "GRPC", - "GRPC_WITH_TLS", - "HTTP", - "HTTP2", - "HTTPS", - "INVALID", - "SSL", - "TCP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "unhealthyThreshold": { - "description": "A so-far healthy instance will be marked unhealthy after this many\nconsecutive failures. The default value is 2.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HealthCheckList": { - "description": "Contains a list of HealthCheck resources.", - "id": "HealthCheckList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of HealthCheck resources.", - "items": { - "$ref": "HealthCheck" - }, - "type": "array" - }, - "kind": { - "default": "compute#healthCheckList", - "description": "Output only. Type of resource.", - "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 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" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of health aggregation\npolicies when 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.", @@ -55647,30 +55926,9 @@ }, "type": "object" }, - "HealthCheckLogConfig": { - "description": "Configuration of logging on a health check. If logging is enabled, logs\nwill be exported to Stackdriver.", - "id": "HealthCheckLogConfig", - "properties": { - "enable": { - "description": "Indicates whether or not to export logs. This is false by default, which\nmeans no health check logging will be done.", - "type": "boolean" - } - }, - "type": "object" - }, - "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are\nvalid URLs:\n \n - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check\n - projects/project-id/global/httpHealthChecks/health-check\n - global/httpHealthChecks/health-check", - "id": "HealthCheckReference", - "properties": { - "healthCheck": { - "type": "string" - } - }, - "type": "object" - }, - "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.", - "id": "HealthCheckService", + "HealthAggregationPolicy": { + "description": "Represents a health aggregation policy.\n\nA health aggregation policy resource defines a policy to aggregate health.\n\nFor more information, see\nHealth checks overview.", + "id": "HealthAggregationPolicy", "properties": { "creationTimestamp": { "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", @@ -55682,28 +55940,14 @@ "type": "string" }, "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object.\nThis field is used in optimistic locking. This field will be ignored when\ninserting a HealthCheckService. An up-to-date fingerprint must\nbe provided in order to patch/update the HealthCheckService; Otherwise, the\nrequest will fail with error 412 conditionNotMet. To see the\nlatest fingerprint, make a get() request to retrieve the\nHealthCheckService.", + "description": "Fingerprint of this resource. A hash of the contents stored in this object.\nThis field is used in optimistic locking. This field will be ignored when\ninserting a HealthAggregationPolicy. An up-to-date fingerprint\nmust be provided in order to patch the HealthAggregationPolicy; Otherwise,\nthe request will fail with error 412 conditionNotMet. To see\nthe latest fingerprint, make a get() request to retrieve the\nHealthAggregationPolicy.", "format": "byte", "type": "string" }, - "healthChecks": { - "description": "A list of URLs to the HealthCheck resources. Must have\nat least one HealthCheck, and not more than 10 for regionalHealthCheckService, and not more than 1 for globalHealthCheckService.HealthCheck resources must haveportSpecification=USE_SERVING_PORT orportSpecification=USE_FIXED_PORT. For\nregional HealthCheckService, theHealthCheck must be regional and in the same\nregion. For global HealthCheckService,HealthCheck must be global. Mix of regional and globalHealthChecks is not supported. Multiple regionalHealthChecks must belong to the same region. RegionalHealthChecks must belong to the same region as zones ofNetworkEndpointGroups. For globalHealthCheckService using globalINTERNET_IP_PORT NetworkEndpointGroups, the\nglobal HealthChecks must specify sourceRegions,\nand HealthChecks that specify sourceRegions can\nonly be used with global INTERNET_IP_PORTNetworkEndpointGroups.", - "items": { - "type": "string" - }, - "type": "array" - }, - "healthStatusAggregationPolicy": { - "description": "Optional. Policy for how the results from multiple health checks\nfor the same endpoint are aggregated. Defaults to NO_AGGREGATION\nif unspecified.\n \n - NO_AGGREGATION. An EndpointHealth message is\n returned for each pair in the health check\n service.\n - AND. If any health check of an endpoint reportsUNHEALTHY, then UNHEALTHY is theHealthState of the endpoint. If all health checks reportHEALTHY, the HealthState of the endpoint isHEALTHY.\n\n.\nThis is only allowed with regional HealthCheckService.", - "enum": [ - "AND", - "NO_AGGREGATION" - ], - "enumDescriptions": [ - "If any backend's health check reports UNHEALTHY,\nthen UNHEALTHY is the HealthState of\nthe entire health check service. If all backend's are healthy,\nthe HealthState of the health check service isHEALTHY.", - "An EndpointHealth message is returned for each\nbackend in the health check service." - ], - "type": "string" + "healthyPercentThreshold": { + "description": "Can only be set if the policyType field isBACKEND_SERVICE_POLICY. Specifies the threshold (as a\npercentage) of healthy endpoints required in order to consider the\naggregated health result HEALTHY. Defaults to 60. Must be in\nrange [0, 100]. Not applicable if the policyType field isDNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional,\nand will be set to the default if unspecified. Note that both this\nthreshold and minHealthyThreshold must be satisfied in order\nfor HEALTHY to be the aggregated result. \"Endpoints\" refers to network\nendpoints within a Network Endpoint Group or instances within an Instance\nGroup.", + "format": "uint32", + "type": "integer" }, "id": { "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", @@ -55712,32 +55956,35 @@ "type": "string" }, "kind": { - "default": "compute#healthCheckService", - "description": "Output only. [Output only] Type of the resource. Alwayscompute#healthCheckServicefor health check services.", + "default": "compute#healthAggregationPolicy", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#healthAggregationPolicy for health aggregation\npolicies.", "readOnly": true, "type": "string" }, + "minHealthyThreshold": { + "description": "Can only be set if the policyType field isBACKEND_SERVICE_POLICY. Specifies the minimum number of\nhealthy endpoints required in order to consider the aggregated health\nresult HEALTHY. Defaults to 1. Must be positive. Not\napplicable if the policyType field isDNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional,\nand will be set to the default if unspecified. Note that both this\nthreshold and healthyPercentThreshold must be satisfied in\norder for HEALTHY to be the aggregated result. \"Endpoints\" refers to\nnetwork endpoints within a Network Endpoint Group or instances within an\nInstance Group.", + "format": "uint32", + "type": "integer" + }, "name": { - "description": "Name of the resource. The name must be 1-63 characters long, and comply\nwith RFC1035. Specifically, the name must be 1-63 characters\nlong and match the regular expression\n`[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character\nmust be a lowercase letter, and all following characters must be a dash,\nlowercase letter, or digit, except the last character, which cannot be a\ndash.", + "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "networkEndpointGroups": { - "description": "A list of URLs to the NetworkEndpointGroup\nresources. Must not have more than 100. For regionalHealthCheckService, NEGs must be in\nzones in the region of the HealthCheckService. For globalHealthCheckServices, the NetworkEndpointGroups\nmust be global INTERNET_IP_PORT.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notificationEndpoints": { - "description": "A list of URLs to the NotificationEndpoint\nresources. Must not have more than 10. A list of endpoints for\nreceiving notifications of change in health status. For regionalHealthCheckService,NotificationEndpoint must be regional and in the\nsame region. For global HealthCheckService,NotificationEndpoint must be global.", - "items": { - "type": "string" - }, - "type": "array" + "policyType": { + "description": "Specifies the type of the healthAggregationPolicy. The only allowed value\nfor global resources is DNS_PUBLIC_IP_POLICY. The only allowed\nvalue for regional resources is BACKEND_SERVICE_POLICY. Must\nbe specified when the healthAggregationPolicy is created, and cannot be\nmutated.", + "enum": [ + "BACKEND_SERVICE_POLICY", + "DNS_PUBLIC_IP_POLICY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" }, "region": { - "description": "Output only. [Output Only] URL of the region where the health check service\nresides. This field is not applicable to global health check services.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", + "description": "Output only. [Output Only] URL of the region where the health aggregation policy\nresides. This field applies only to the regional resource. You must specify\nthis field as part of the HTTP request URL. It is not settable as a field\nin the request body.", "readOnly": true, "type": "string" }, @@ -55745,45 +55992,39 @@ "description": "Output only. [Output Only] Server-defined URL for the resource.", "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "HealthCheckServiceReference": { - "description": "A full or valid partial URL to a health check service. For example, the\nfollowing are valid URLs:\n \n - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service\n - projects/project-id/regions/us-west1/healthCheckServices/health-check-service\n - regions/us-west1/healthCheckServices/health-check-service", - "id": "HealthCheckServiceReference", - "properties": { - "healthCheckService": { + }, + "selfLinkWithId": { + "description": "Output only. [Output Only] Server-defined URL with id for the resource.", + "readOnly": true, "type": "string" } }, "type": "object" }, - "HealthCheckServicesList": { - "id": "HealthCheckServicesList", + "HealthAggregationPolicyAggregatedList": { + "description": "Contains a list of HealthAggregationPoliciesScopedList.", + "id": "HealthAggregationPolicyAggregatedList", "properties": { "id": { - "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.", - "readOnly": true, + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "Output only. A list of HealthCheckService resources.", - "items": { - "$ref": "HealthCheckService" + "additionalProperties": { + "$ref": "HealthAggregationPoliciesScopedList", + "description": "Name of the scope containing this set of HealthAggregationPolicies." }, - "readOnly": true, - "type": "array" + "description": "A list of HealthAggregationPoliciesScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#healthCheckServicesList", - "description": "Output only. [Output Only] Type of the resource. Alwayscompute#healthCheckServicesList for lists of\nHealthCheckServices.", + "default": "compute#healthAggregationPolicyAggregatedList", + "description": "Output only. Type of resource.", "readOnly": true, "type": "string" }, "nextPageToken": { - "description": "Output only. [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.", - "readOnly": true, + "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": { @@ -55791,6 +56032,14 @@ "readOnly": true, "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": { @@ -55918,24 +56167,23 @@ }, "type": "object" }, - "HealthChecksAggregatedList": { - "id": "HealthChecksAggregatedList", + "HealthAggregationPolicyList": { + "id": "HealthAggregationPolicyList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "HealthChecksScopedList", - "description": "Name of the scope containing this set of HealthChecks." + "description": "A list of HealthAggregationPolicy resources.", + "items": { + "$ref": "HealthAggregationPolicy" }, - "description": "A list of HealthChecksScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#healthChecksAggregatedList", - "description": "Output only. Type of resource.", + "default": "compute#healthAggregationPolicyList", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#healthAggregationPolicy for health aggregation\npolicies.", "readOnly": true, "type": "string" }, @@ -55944,18 +56192,9 @@ "type": "string" }, "selfLink": { - "description": "Output only. [Output Only] Server-defined URL for this resource.", - "readOnly": true, + "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": { @@ -56083,18 +56322,728 @@ }, "type": "object" }, - "HealthChecksScopedList": { - "id": "HealthChecksScopedList", + "HealthCheck": { + "description": "Represents a health check resource.\n\nGoogle Compute Engine has two health check resources:\n\n* [Regional](/compute/docs/reference/rest/v1/regionHealthChecks)\n* [Global](/compute/docs/reference/rest/v1/healthChecks)\n\nThese health check resources can be used for load balancing and for\nautohealing VMs in a managed instance group (MIG).\n\n**Load balancing**\n\nHealth check requirements vary depending on the type of load balancer. For\ndetails about the type of health check supported for\neach load balancer and corresponding backend type,\nsee Health\nchecks overview: Load balancer guide.\n\n**Autohealing in MIGs**\n\nThe health checks that you use for autohealing VMs in a MIG can be either\nregional or global. For more information, see Set up an\napplication health check and autohealing.\n\nFor more information, seeHealth checks\noverview.", + "id": "HealthCheck", "properties": { - "healthChecks": { - "description": "A list of HealthChecks contained in this scope.", + "checkIntervalSec": { + "description": "How often (in seconds) to send a health check. The default value is 5\nseconds.", + "format": "int32", + "type": "integer" + }, + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp in3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", + "type": "string" + }, + "grpcHealthCheck": { + "$ref": "GRPCHealthCheck" + }, + "grpcTlsHealthCheck": { + "$ref": "GRPCTLSHealthCheck" + }, + "healthyThreshold": { + "description": "A so-far unhealthy instance will be marked healthy after this\nmany consecutive successes. The default value is 2.", + "format": "int32", + "type": "integer" + }, + "http2HealthCheck": { + "$ref": "HTTP2HealthCheck" + }, + "httpHealthCheck": { + "$ref": "HTTPHealthCheck" + }, + "httpsHealthCheck": { + "$ref": "HTTPSHealthCheck" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#healthCheck", + "description": "Output only. Type of the resource.", + "readOnly": true, + "type": "string" + }, + "logConfig": { + "$ref": "HealthCheckLogConfig", + "description": "Configure logging on this health check." + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nFor example, a name that is 1-63 characters long, matches the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with\nRFC1035. This regular expression describes a name where the first\ncharacter is a lowercase letter, and all following characters are a dash,\nlowercase letter, or digit, except the last character, which isn't a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "Output only. [Output Only] Region where the health check resides. Not applicable to\nglobal health checks.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "sourceRegions": { + "description": "The list of cloud regions from which health checks are performed. If any\nregions are specified, then exactly 3 regions should be specified. The\nregion names must be valid names of Google Cloud regions.\nThis can only be set for global health check.\nIf this list is non-empty, then there are restrictions\non what other health check fields are supported and what other resources\ncan use this health check:\n \n - SSL, HTTP2, and GRPC protocols are not supported.\n - The TCP request field is not supported.\n - The proxyHeader field for HTTP, HTTPS, and TCP is not\n supported.\n - The checkIntervalSec field must be at least 30.\n - The health check cannot be used with BackendService nor with managed\n instance group auto-healing.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sslHealthCheck": { + "$ref": "SSLHealthCheck" + }, + "tcpHealthCheck": { + "$ref": "TCPHealthCheck" + }, + "timeoutSec": { + "description": "How long (in seconds) to wait before claiming failure. The default value is\n5 seconds. It is invalid for timeoutSec to have greater\nvalue than checkIntervalSec.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2 or GRPC. Exactly one of the\nprotocol-specific health check fields must be specified, which must matchtype field.", + "enum": [ + "GRPC", + "GRPC_WITH_TLS", + "HTTP", + "HTTP2", + "HTTPS", + "INVALID", + "SSL", + "TCP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "unhealthyThreshold": { + "description": "A so-far healthy instance will be marked unhealthy after this many\nconsecutive failures. The default value is 2.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "HealthCheckList": { + "description": "Contains a list of HealthCheck resources.", + "id": "HealthCheckList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of HealthCheck resources.", "items": { "$ref": "HealthCheck" }, "type": "array" }, + "kind": { + "default": "compute#healthCheckList", + "description": "Output only. Type of resource.", + "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 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" + }, "warning": { - "description": "Informational warning which replaces the list of\nbackend services when 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.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + 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" + }, + "HealthCheckLogConfig": { + "description": "Configuration of logging on a health check. If logging is enabled, logs\nwill be exported to Stackdriver.", + "id": "HealthCheckLogConfig", + "properties": { + "enable": { + "description": "Indicates whether or not to export logs. This is false by default, which\nmeans no health check logging will be done.", + "type": "boolean" + } + }, + "type": "object" + }, + "HealthCheckReference": { + "description": "A full or valid partial URL to a health check. For example, the following are\nvalid URLs:\n \n - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check\n - projects/project-id/global/httpHealthChecks/health-check\n - global/httpHealthChecks/health-check", + "id": "HealthCheckReference", + "properties": { + "healthCheck": { + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckService": { + "description": "Represents a Health-Check as a Service resource.", + "id": "HealthCheckService", + "properties": { + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object.\nThis field is used in optimistic locking. This field will be ignored when\ninserting a HealthCheckService. An up-to-date fingerprint must\nbe provided in order to patch/update the HealthCheckService; Otherwise, the\nrequest will fail with error 412 conditionNotMet. To see the\nlatest fingerprint, make a get() request to retrieve the\nHealthCheckService.", + "format": "byte", + "type": "string" + }, + "healthChecks": { + "description": "A list of URLs to the HealthCheck resources. Must have\nat least one HealthCheck, and not more than 10 for regionalHealthCheckService, and not more than 1 for globalHealthCheckService.HealthCheck resources must haveportSpecification=USE_SERVING_PORT orportSpecification=USE_FIXED_PORT. For\nregional HealthCheckService, theHealthCheck must be regional and in the same\nregion. For global HealthCheckService,HealthCheck must be global. Mix of regional and globalHealthChecks is not supported. Multiple regionalHealthChecks must belong to the same region. RegionalHealthChecks must belong to the same region as zones ofNetworkEndpointGroups. For globalHealthCheckService using globalINTERNET_IP_PORT NetworkEndpointGroups, the\nglobal HealthChecks must specify sourceRegions,\nand HealthChecks that specify sourceRegions can\nonly be used with global INTERNET_IP_PORTNetworkEndpointGroups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthStatusAggregationPolicy": { + "description": "Optional. Policy for how the results from multiple health checks\nfor the same endpoint are aggregated. Defaults to NO_AGGREGATION\nif unspecified.\n \n - NO_AGGREGATION. An EndpointHealth message is\n returned for each pair in the health check\n service.\n - AND. If any health check of an endpoint reportsUNHEALTHY, then UNHEALTHY is theHealthState of the endpoint. If all health checks reportHEALTHY, the HealthState of the endpoint isHEALTHY.\n\n.\nThis is only allowed with regional HealthCheckService.", + "enum": [ + "AND", + "NO_AGGREGATION" + ], + "enumDescriptions": [ + "If any backend's health check reports UNHEALTHY,\nthen UNHEALTHY is the HealthState of\nthe entire health check service. If all backend's are healthy,\nthe HealthState of the health check service isHEALTHY.", + "An EndpointHealth message is returned for each\nbackend in the health check service." + ], + "type": "string" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "kind": { + "default": "compute#healthCheckService", + "description": "Output only. [Output only] Type of the resource. Alwayscompute#healthCheckServicefor health check services.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Name of the resource. The name must be 1-63 characters long, and comply\nwith RFC1035. Specifically, the name must be 1-63 characters\nlong and match the regular expression\n`[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character\nmust be a lowercase letter, and all following characters must be a dash,\nlowercase letter, or digit, except the last character, which cannot be a\ndash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "networkEndpointGroups": { + "description": "A list of URLs to the NetworkEndpointGroup\nresources. Must not have more than 100. For regionalHealthCheckService, NEGs must be in\nzones in the region of the HealthCheckService. For globalHealthCheckServices, the NetworkEndpointGroups\nmust be global INTERNET_IP_PORT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notificationEndpoints": { + "description": "A list of URLs to the NotificationEndpoint\nresources. Must not have more than 10. A list of endpoints for\nreceiving notifications of change in health status. For regionalHealthCheckService,NotificationEndpoint must be regional and in the\nsame region. For global HealthCheckService,NotificationEndpoint must be global.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "Output only. [Output Only] URL of the region where the health check service\nresides. This field is not applicable to global health check services.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckServiceReference": { + "description": "A full or valid partial URL to a health check service. For example, the\nfollowing are valid URLs:\n \n - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service\n - projects/project-id/regions/us-west1/healthCheckServices/health-check-service\n - regions/us-west1/healthCheckServices/health-check-service", + "id": "HealthCheckServiceReference", + "properties": { + "healthCheckService": { + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckServicesList": { + "id": "HealthCheckServicesList", + "properties": { + "id": { + "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server.", + "readOnly": true, + "type": "string" + }, + "items": { + "description": "Output only. A list of HealthCheckService resources.", + "items": { + "$ref": "HealthCheckService" + }, + "readOnly": true, + "type": "array" + }, + "kind": { + "default": "compute#healthCheckServicesList", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#healthCheckServicesList for lists of\nHealthCheckServices.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "Output only. [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.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "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" + }, + "HealthChecksAggregatedList": { + "id": "HealthChecksAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "HealthChecksScopedList", + "description": "Name of the scope containing this set of HealthChecks." + }, + "description": "A list of HealthChecksScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#healthChecksAggregatedList", + "description": "Output only. Type of resource.", + "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 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.", + "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" + }, + "HealthChecksScopedList": { + "id": "HealthChecksScopedList", + "properties": { + "healthChecks": { + "description": "A list of HealthChecks contained in this scope.", + "items": { + "$ref": "HealthCheck" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of\nbackend services when 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.", @@ -57630,7 +58579,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the image. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -57936,6 +58885,9 @@ "$ref": "Tags", "description": "Tags to apply to this instance. Tags are used to identify valid\nsources or targets for network firewalls and are specified by the client\nduring instance creation. The tags can be later modified by the setTags\nmethod. Each tag within the list must comply withRFC1035.\nMultiple tags can be specified via the 'tags.items' field." }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" + }, "zone": { "description": "Output only. [Output Only] URL of the zone where the instance resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -59123,6 +60075,20 @@ "" ], "type": "string" + }, + "onFailedHealthCheck": { + "description": "The action that a MIG performs on an unhealthy VM. A VM is marked as\nunhealthy when the application running on that VM fails a health check.\nValid values are:\n \n - DEFAULT_ACTION (default): MIG uses the same action\n configured for instanceLifecyclePolicy.defaultActionOnFailure field.\n - REPAIR: MIG automatically repairs an unhealthy VM by\n recreating it.\n - DO_NOTHING: MIG doesn't repair an unhealthy VM.\n For more information, see \n About repairing VMs in a MIG.", + "enum": [ + "DEFAULT_ACTION", + "DO_NOTHING", + "REPAIR" + ], + "enumDescriptions": [ + "(Default) MIG uses the same action configured for\ninstanceLifecyclePolicy.defaultActionOnFailure field.", + "MIG doesn't repair an unhealthy VM.", + "MIG automatically repairs an unhealthy VM by recreating it." + ], + "type": "string" } }, "type": "object" @@ -61214,7 +62180,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -61324,7 +62290,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and\nvalues are in the format `tagValues/456`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the instance. Tag keys and values\nhave the same definition as resource\nmanager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and\nvalues are in the format `tagValues/456`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" }, "resourcePolicies": { @@ -61352,6 +62318,9 @@ "tags": { "$ref": "Tags", "description": "A list of tags to apply to the instances that are created from these\nproperties. The tags identify valid sources or targets for network\nfirewalls. The setTags method can modify this list of tags. Each tag within\nthe list must comply with RFC1035." + }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" } }, "type": "object" @@ -62481,6 +63450,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "InstantSnapshotParams", + "description": "Input only. Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "Output only. [Output Only] URL of the region where the instant snapshot resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -62869,6 +63842,20 @@ }, "type": "object" }, + "InstantSnapshotParams": { + "description": "Additional instant snapshot params.", + "id": "InstantSnapshotParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and\nvalues have the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "InstantSnapshotResourceStatus": { "id": "InstantSnapshotResourceStatus", "properties": { @@ -63278,7 +64265,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -67335,7 +68322,7 @@ "additionalProperties": { "$ref": "LocationPolicyLocation" }, - "description": "Location configurations mapped by location name.\nCurrently only zone names are supported and must be represented as valid\ninternal URLs, such as zones/us-central1-a.", + "description": "Location configurations mapped by location name.\nCurrently only zone names are supported and must be represented as valid\ninternal URLs, such as zones/us-central1-a.\nThe bulkInsert operation doesn't create instances in an AI zone, even if\nan AI zone is available in the specified region. For example, if you set a\nDENY preference for us-central1-a, Compute Engine will consider\nus-central1-b and us-central1-c for instance creation, but not\nus-central1-ai1a. Also, you can't use the locations[] configuration to\nallow instance creation in an AI zone. To include an AI zone in bulkInsert\noperations, use the locationPolicy.zones[] field.", "type": "object" }, "targetShape": { @@ -67351,6 +68338,13 @@ "GCE prioritizes acquisition of resources, scheduling VMs in zones\nwhere resources are available while distributing VMs as evenly as\npossible across allowed zones to minimize the impact of zonal failure.\nRecommended for highly available serving workloads." ], "type": "string" + }, + "zones": { + "description": "The bulkInsert operation applies any preferences set in the locations\nfield to the specific zones listed in the zones field if the same zones\nare specified in both fields.", + "items": { + "$ref": "LocationPolicyZoneConfiguration" + }, + "type": "array" } }, "type": "object" @@ -67391,6 +68385,16 @@ }, "type": "object" }, + "LocationPolicyZoneConfiguration": { + "id": "LocationPolicyZoneConfiguration", + "properties": { + "zone": { + "description": "The URL of the zone.\nThe zone must exist in the region where the request is called.\nZones must be represented as valid partial URLs,\nsuch as zones/us-central1-a.", + "type": "string" + } + }, + "type": "object" + }, "MachineImage": { "description": "Represents a machine image resource.\n\nA machine image is a Compute Engine resource that stores all the\nconfiguration, metadata, permissions, and data from one or more disks\nrequired to create a Virtual machine (VM) instance. For more information, seeMachine images.", "id": "MachineImage", @@ -69808,7 +70812,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -70878,6 +71882,10 @@ }, "type": "array" }, + "enableVpcScopedDns": { + "description": "Optional. If true, DNS resolution will be enabled over this interface. Only valid\nwith network_attachment.", + "type": "boolean" + }, "fingerprint": { "description": "Fingerprint hash of contents stored in this network interface.\nThis field will be ignored when inserting an Instance or\nadding a NetworkInterface. An up-to-date\nfingerprint must be provided in order to update theNetworkInterface. The request will fail with error400 Bad Request if the fingerprint is not provided, or412 Precondition Failed if the fingerprint is out of date.", "format": "byte", @@ -80362,6 +81370,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -80396,6 +81418,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "ReservationParams", + "description": "Input only. Additional params passed with the request, but not persisted\nas part of resource payload." + }, "protectionTier": { "description": "Protection tier for the workload which specifies the workload expectations\nin the event of infrastructure failures at data center (e.g. power\nand/or cooling failures).", "enum": [ @@ -81225,6 +82251,20 @@ }, "type": "object" }, + "ReservationParams": { + "description": "Additional reservation params.", + "id": "ReservationParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Input only. Resource manager tags to be bound to the reservation. Tag keys and\nvalues have the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "ReservationSlot": { "description": "Represents a reservation slot resource.", "id": "ReservationSlot", @@ -81277,13 +82317,15 @@ "ACTIVE", "CREATING", "DELETING", - "STATE_UNSPECIFIED" + "STATE_UNSPECIFIED", + "UNAVAILABLE" ], "enumDescriptions": [ "The reservation slot has allocated all its resources.", "The resources are being allocated for the reservation slot.", "The reservation slot is currently being deleted.", - "" + "", + "The reservation slot is currently unavailable." ], "readOnly": true, "type": "string" @@ -83092,6 +84134,10 @@ "description": "Effective enable-oslogin value at Instance level.", "type": "boolean" }, + "gceContainerDeclarationMetadataValue": { + "description": "Effective gce-container-declaration value at Instance level.", + "type": "boolean" + }, "serialPortEnableMetadataValue": { "description": "Effective serial-port-enable value at Instance level.", "type": "boolean" @@ -88730,7 +89776,7 @@ "additionalProperties": { "type": "string" }, - "description": "Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced\nformat such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", "type": "object" } }, @@ -96241,6 +97287,10 @@ "description": "URL of the network to which this VPN gateway is attached. Provided by the\nclient when the VPN gateway is created.", "type": "string" }, + "params": { + "$ref": "TargetVpnGatewayParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "[Output Only] URL of the region where the target VPN gateway resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "type": "string" @@ -96597,6 +97647,19 @@ }, "type": "object" }, + "TargetVpnGatewayParams": { + "id": "TargetVpnGatewayParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource.\nTag keys and values have the same definition as resource\nmanager tags. The field is allowed for INSERT\nonly. The keys/values to set on the resource should be specified in\neither ID { : } or Namespaced format\n{ : }.\nFor example the following are valid inputs:\n* {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"}\n* {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"}\nNote:\n* Invalid combinations of ID & namespaced format is not supported. For\n instance: {\"123/environment\" : \"tagValues/444\"} is invalid.\n* Inconsistent format is not supported. For instance:\n {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "TargetVpnGatewaysScopedList": { "id": "TargetVpnGatewaysScopedList", "properties": { @@ -98250,6 +99313,10 @@ "description": "URL of the network to which this VPN gateway is attached. Provided by the\nclient when the VPN gateway is created.", "type": "string" }, + "params": { + "$ref": "VpnGatewayParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "Output only. [Output Only] URL of the region where the VPN gateway resides.", "readOnly": true, @@ -98606,6 +99673,19 @@ }, "type": "object" }, + "VpnGatewayParams": { + "id": "VpnGatewayParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource.\nTag keys and values have the same definition as resource\nmanager tags. The field is allowed for INSERT\nonly. The keys/values to set on the resource should be specified in\neither ID { : } or Namespaced format\n{ : }.\nFor example the following are valid inputs:\n* {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"}\n* {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"}\nNote:\n* Invalid combinations of ID & namespaced format is not supported. For\n instance: {\"123/environment\" : \"tagValues/444\"} is invalid.\n* Inconsistent format is not supported. For instance:\n {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "VpnGatewayStatus": { "id": "VpnGatewayStatus", "properties": { @@ -98940,6 +100020,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "VpnTunnelParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted\nas part of resource payload." + }, "peerExternalGateway": { "description": "URL of the peer side external VPN gateway to which this VPN tunnel is\nconnected.\nProvided by the client when the VPN tunnel is created.\nThis field is exclusive with the field peerGcpGateway.", "type": "string" @@ -99368,6 +100452,19 @@ }, "type": "object" }, + "VpnTunnelParams": { + "id": "VpnTunnelParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource.\nTag keys and values have the same definition as resource\nmanager tags. The field is allowed for INSERT\nonly. The keys/values to set on the resource should be specified in\neither ID { : } or Namespaced format\n{ : }.\nFor example the following are valid inputs:\n* {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"}\n* {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"}\nNote:\n* Invalid combinations of ID & namespaced format is not supported. For\n instance: {\"123/environment\" : \"tagValues/444\"} is invalid.\n* Inconsistent format is not supported. For instance:\n {\"tagKeys/333\" : \"tagValues/444\", \"123/env\" : \"prod\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "VpnTunnelPhase1Algorithms": { "id": "VpnTunnelPhase1Algorithms", "properties": { @@ -100003,6 +101100,18 @@ }, "type": "object" }, + "WorkloadIdentityConfig": { + "id": "WorkloadIdentityConfig", + "properties": { + "identity": { + "type": "string" + }, + "identityCertificateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "XpnHostList": { "id": "XpnHostList", "properties": { diff --git a/discovery/config-v1.json b/discovery/config-v1.json index 4a7f3003205..af27654b025 100644 --- a/discovery/config-v1.json +++ b/discovery/config-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "config.projects.locations.list", @@ -1409,7 +1409,7 @@ } } }, - "revision": "20251202", + "revision": "20260128", "rootUrl": "https://config.googleapis.com/", "schemas": { "ApplyResults": { diff --git a/discovery/connectors-v1.json b/discovery/connectors-v1.json index cd19527a7a8..c6f3ccca24d 100644 --- a/discovery/connectors-v1.json +++ b/discovery/connectors-v1.json @@ -185,7 +185,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "connectors.projects.locations.list", @@ -332,6 +332,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "generateToolspecOverride": { + "description": "Generates Toolspec Override for a connection for the given list of entityTypes and operations. Returns results from the db if the entityType and operation are already present.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:generateToolspecOverride", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.generateToolspecOverride", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateToolspecOverride", + "request": { + "$ref": "GenerateConnectionToolspecOverrideRequest" + }, + "response": { + "$ref": "GenerateConnectionToolspecOverrideResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single Connection.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", @@ -517,6 +545,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "modifyToolspecOverride": { + "description": "Updates Toolspec Override for a connection with the admin provided descriptions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:modifyToolspecOverride", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.modifyToolspecOverride", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:modifyToolspecOverride", + "request": { + "$ref": "ModifyConnectionToolspecOverrideRequest" + }, + "response": { + "$ref": "ModifyConnectionToolspecOverrideResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "patch": { "description": "Updates the parameters of a single Connection.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", @@ -551,6 +607,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "removeToolspecOverride": { + "description": "Deletes all Toolspec Override for a connection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:removeToolspecOverride", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.removeToolspecOverride", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:removeToolspecOverride", + "request": { + "$ref": "RemoveConnectionToolspecOverrideRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "repairEventing": { "description": "RepaiEventing tries to repair eventing related event subscriptions.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:repairEventing", @@ -2762,7 +2846,7 @@ } } }, - "revision": "20251216", + "revision": "20260128", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -5936,6 +6020,31 @@ }, "type": "object" }, + "GenerateConnectionToolspecOverrideRequest": { + "description": "Request message for GenerateConnectionToolspecOverride API.", + "id": "GenerateConnectionToolspecOverrideRequest", + "properties": { + "toolNames": { + "description": "Required. List of tools for which the tool spec override is to be generated.", + "items": { + "$ref": "ToolName" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateConnectionToolspecOverrideResponse": { + "description": "Response message for GenerateConnectionToolspecOverride API.", + "id": "GenerateConnectionToolspecOverrideResponse", + "properties": { + "toolspecOverride": { + "$ref": "ToolspecOverride", + "description": "Toolspec overrides for the connection." + } + }, + "type": "object" + }, "HPAConfig": { "description": "Autoscaling config for connector deployment system metrics.", "id": "HPAConfig", @@ -7211,6 +7320,28 @@ }, "type": "object" }, + "ModifyConnectionToolspecOverrideRequest": { + "description": "Request message for ModifyConnectionToolspecOverride API.", + "id": "ModifyConnectionToolspecOverrideRequest", + "properties": { + "toolspecOverride": { + "$ref": "ToolspecOverride", + "description": "Required. Toolspec overrides to be modified." + } + }, + "type": "object" + }, + "ModifyConnectionToolspecOverrideResponse": { + "description": "Response message for ModifyConnectionToolspecOverride API.", + "id": "ModifyConnectionToolspecOverrideResponse", + "properties": { + "toolspecOverrides": { + "$ref": "ToolspecOverride", + "description": "Toolspec overrides for the connection." + } + }, + "type": "object" + }, "MultipleSelectConfig": { "description": "MultipleSelectConfig represents the multiple options for a config variable.", "id": "MultipleSelectConfig", @@ -7890,6 +8021,12 @@ }, "type": "object" }, + "RemoveConnectionToolspecOverrideRequest": { + "description": "Request message for RemoveConnectionToolspecOverride API.", + "id": "RemoveConnectionToolspecOverrideRequest", + "properties": {}, + "type": "object" + }, "RepairEventingRequest": { "description": "Request message for ConnectorsService.RepairEventing", "id": "RepairEventingRequest", @@ -8876,6 +9013,71 @@ }, "type": "object" }, + "ToolName": { + "description": "Tool name for which the tool spec override is to be generated.", + "id": "ToolName", + "properties": { + "entityType": { + "description": "Optional. Entity type name for which the tool was generated.", + "type": "string" + }, + "name": { + "description": "Required. Tool name that was generated in the list tools call.", + "type": "string" + }, + "operation": { + "description": "Optional. Operation for which the tool was generated.", + "enum": [ + "OPERATION_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation unspecified.", + "LIST entities.", + "GET entity.", + "CREATE entity.", + "UPDATE entity.", + "DELETE entity." + ], + "type": "string" + } + }, + "type": "object" + }, + "ToolspecOverride": { + "description": "Toolspec overrides for a connection only holds the information that is to be displayed in the UI for admins.", + "id": "ToolspecOverride", + "properties": { + "createTime": { + "description": "Output only. Created time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "tools": { + "description": "Required. List of tools defined in the tool spec. Marking this field as required as this is the only field that is editable by the user in modify API so we should have at least one tool in the list.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "TrafficShapingConfig": { "description": "* TrafficShapingConfig defines the configuration for shaping API traffic by specifying a quota limit and the duration over which this limit is enforced. This configuration helps to control and manage the rate at which API calls are made on the client side, preventing service overload on the backend. For example: - if the quota limit is 100 calls per 10 seconds, then the message would be: { quota_limit: 100 duration: { seconds: 10 } } - if the quota limit is 100 calls per 5 minutes, then the message would be: { quota_limit: 100 duration: { seconds: 300 } } - if the quota limit is 10000 calls per day, then the message would be: { quota_limit: 10000 duration: { seconds: 86400 } and so on.", "id": "TrafficShapingConfig", diff --git a/discovery/connectors-v2.json b/discovery/connectors-v2.json index 869e1962050..c7b2d1b1de9 100644 --- a/discovery/connectors-v2.json +++ b/discovery/connectors-v2.json @@ -219,6 +219,59 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "generateConnectionToolspecOverride": { + "description": "Generate toolspec override for the given list of toolNames.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:generateConnectionToolspecOverride", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.generateConnectionToolspecOverride", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:generateConnectionToolspecOverride", + "request": { + "$ref": "GenerateCustomToolspecRequest" + }, + "response": { + "$ref": "GenerateCustomToolspecResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listCustomToolNames": { + "description": "Lists custom tool names.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:listCustomToolNames", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.listCustomToolNames", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:listCustomToolNames", + "response": { + "$ref": "ListCustomToolNamesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "refreshAccessToken": { "description": "RefreshAccessToken exchanges the OAuth refresh token (and other necessary data) for a new access token (and new associated credentials).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:refreshAccessToken", @@ -965,7 +1018,7 @@ } } }, - "revision": "20251216", + "revision": "20260128", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AccessCredentials": { @@ -1633,6 +1686,29 @@ }, "type": "object" }, + "GenerateCustomToolspecRequest": { + "id": "GenerateCustomToolspecRequest", + "properties": { + "toolNames": { + "description": "list of tools to be generated.", + "items": { + "$ref": "ToolName" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateCustomToolspecResponse": { + "id": "GenerateCustomToolspecResponse", + "properties": { + "toolSpec": { + "$ref": "ToolSpec", + "description": "tool spec that has tool_defitions array containing the tools for all sted tool_names." + } + }, + "type": "object" + }, "GetResourcePostRequest": { "description": "Request message for ConnectorAgentService.GetResourcePost", "id": "GetResourcePostRequest", @@ -2221,6 +2297,19 @@ }, "type": "object" }, + "ListCustomToolNamesResponse": { + "id": "ListCustomToolNamesResponse", + "properties": { + "toolNames": { + "description": "List of custom tools.", + "items": { + "$ref": "ToolName" + }, + "type": "array" + } + }, + "type": "object" + }, "ListEntitiesResponse": { "description": "Response message for EntityService.ListEntities", "id": "ListEntitiesResponse", @@ -3165,6 +3254,40 @@ }, "type": "object" }, + "ToolName": { + "id": "ToolName", + "properties": { + "entityName": { + "description": "Entity name for which the tool was generated.", + "type": "string" + }, + "name": { + "description": "Tool name that was generated in the list tools call.", + "type": "string" + }, + "operation": { + "description": "Operation for which the tool was generated.", + "enum": [ + "OPERATION_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation unspecified.", + "LIST entities.", + "GET entity.", + "CREATE entity.", + "UPDATE entity.", + "DELETE entity." + ], + "type": "string" + } + }, + "type": "object" + }, "ToolSpec": { "id": "ToolSpec", "properties": { diff --git a/discovery/container-v1.json b/discovery/container-v1.json index 24e793e1ebb..b88c8704457 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -2660,7 +2660,7 @@ } } }, - "revision": "20260120", + "revision": "20260209", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3501,7 +3501,8 @@ }, "compliancePostureConfig": { "$ref": "CompliancePostureConfig", - "description": "Enable/Disable Compliance Posture features for the cluster." + "deprecated": true, + "description": "Optional. Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster." }, "conditions": { "description": "Which conditions caused the current cluster state.", @@ -3779,7 +3780,7 @@ }, "securityPostureConfig": { "$ref": "SecurityPostureConfig", - "description": "Enable/Disable Security Posture API features for the cluster." + "description": "Optional. Enable/Disable Security Posture API features for the cluster." }, "selfLink": { "description": "Output only. Server-defined URL for the resource.", @@ -3863,11 +3864,13 @@ "description": "Autopilot general profile for the cluster, which defines the configuration for the cluster.", "enum": [ "AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED", - "NO_PERFORMANCE" + "NO_PERFORMANCE", + "NONE" ], "enumDescriptions": [ "Use default configuration.", - "Avoid extra IP consumption." + "Avoid extra IP consumption.", + "Use default configuration." ], "type": "string" }, @@ -3975,7 +3978,8 @@ }, "desiredCompliancePostureConfig": { "$ref": "CompliancePostureConfig", - "description": "Enable/Disable Compliance Posture features for the cluster." + "deprecated": true, + "description": "Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster." }, "desiredContainerdConfig": { "$ref": "ContainerdConfig", @@ -4397,7 +4401,8 @@ "type": "object" }, "CompliancePostureConfig": { - "description": "CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", + "deprecated": true, + "description": "Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", "id": "CompliancePostureConfig", "properties": { "complianceStandards": { @@ -4532,6 +4537,17 @@ }, "type": "object" }, + "CrashLoopBackOffConfig": { + "description": "Contains config to modify node-level parameters for container restart behavior.", + "id": "CrashLoopBackOffConfig", + "properties": { + "maxContainerRestartPeriod": { + "description": "Optional. The maximum duration the backoff delay can accrue to for container restarts, minimum 1 second, maximum 300 seconds. If not set, defaults to the internal crashloopbackoff maximum. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300ms\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". See https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay for more details.", + "type": "string" + } + }, + "type": "object" + }, "CreateClusterRequest": { "description": "CreateClusterRequest creates a cluster.", "id": "CreateClusterRequest", @@ -4806,6 +4822,35 @@ }, "type": "object" }, + "DisruptionBudget": { + "description": "DisruptionBudget defines the upgrade disruption budget for the cluster control plane.", + "id": "DisruptionBudget", + "properties": { + "lastDisruptionTime": { + "description": "Output only. The last time a disruption was performed on the control plane.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastMinorVersionDisruptionTime": { + "description": "Output only. The last time a minor version upgrade was performed on the control plane.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "minorVersionDisruptionInterval": { + "description": "Optional. The minimum duration between two minor version upgrades of the control plane.", + "format": "google-duration", + "type": "string" + }, + "patchVersionDisruptionInterval": { + "description": "Optional. The minimum duration between two patch version upgrades of the control plane.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "DisruptionEvent": { "description": "DisruptionEvent is a notification sent to customers about the disruption event of a resource.", "id": "DisruptionEvent", @@ -6055,6 +6100,10 @@ "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", "id": "MaintenancePolicy", "properties": { + "disruptionBudget": { + "$ref": "DisruptionBudget", + "description": "Optional. The upgrade disruption budget for the cluster control plane." + }, "resourceVersion": { "description": "A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy.", "type": "string" @@ -6877,6 +6926,10 @@ "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" }, + "crashLoopBackOff": { + "$ref": "CrashLoopBackOffConfig", + "description": "Optional. Contains configuration options to modify node-level parameters for container restart behavior." + }, "evictionMaxPodGracePeriodSeconds": { "description": "Optional. eviction_max_pod_grace_period_seconds is the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. This value effectively caps the Pod's terminationGracePeriodSeconds value during soft evictions. Default: 0. Range: [0, 300].", "format": "int32", @@ -6930,6 +6983,16 @@ "format": "int64", "type": "string" }, + "shutdownGracePeriodCriticalPodsSeconds": { + "description": "Optional. shutdown_grace_period_critical_pods_seconds is the maximum allowed grace period (in seconds) used to terminate critical pods during a node shutdown. This value should be <= shutdown_grace_period_seconds, and is only valid if shutdown_grace_period_seconds is set. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ Range: [0, 120].", + "format": "int32", + "type": "integer" + }, + "shutdownGracePeriodSeconds": { + "description": "Optional. shutdown_grace_period_seconds is the maximum allowed grace period (in seconds) the total duration that the node should delay the shutdown during a graceful shutdown. This is the total grace period for pod termination for both regular and critical pods. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ If set to 0, node will not enable the graceful node shutdown functionality. This field is only valid for Spot VMs. Allowed values: 0, 30, 120.", + "format": "int32", + "type": "integer" + }, "singleProcessOomKill": { "description": "Optional. Defines whether to enable single process OOM killer. If true, will prevent the memory.oom.group flag from being set for container cgroups in cgroups v2. This causes processes in the container to be OOM killed individually instead of as a group.", "type": "boolean" @@ -7028,7 +7091,7 @@ "type": "string" }, "subnetwork": { - "description": "Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: 1. A user supplied subnetwork name/full path during node pool creation. Example1: my-subnet Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet 2. A subnetwork path picked based on the IP utilization during node pool creation and is immutable.", + "description": "Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable.", "type": "string" } }, @@ -8324,11 +8387,17 @@ "BASIC", "ENTERPRISE" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "Default value not specified.", "Disables Security Posture features on the cluster.", "Applies Security Posture features on the cluster.", - "Applies the Security Posture off cluster Enterprise level features." + "Deprecated: Security Posture Enterprise features are no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Applies the Security Posture off cluster Enterprise level features." ], "type": "string" }, @@ -8340,10 +8409,16 @@ "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ], + "enumDeprecated": [ + false, + false, + true, + false + ], "enumDescriptions": [ "Default value not specified.", "Disables vulnerability scanning on the cluster.", - "Applies basic vulnerability scanning on the cluster.", + "Deprecated: Basic vulnerability scanning is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Applies basic vulnerability scanning on the cluster.", "Applies the Security Posture's vulnerability on cluster Enterprise level features." ], "type": "string" diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index 89f0a8cabd8..752bde7b9c6 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -2741,7 +2741,7 @@ } } }, - "revision": "20260120", + "revision": "20260209", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3660,7 +3660,8 @@ }, "compliancePostureConfig": { "$ref": "CompliancePostureConfig", - "description": "Enable/Disable Compliance Posture features for the cluster." + "deprecated": true, + "description": "Optional. Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster." }, "conditions": { "description": "Which conditions caused the current cluster state.", @@ -3974,7 +3975,7 @@ }, "securityPostureConfig": { "$ref": "SecurityPostureConfig", - "description": "Enable/Disable Security Posture API features for the cluster." + "description": "Optional. Enable/Disable Security Posture API features for the cluster." }, "selfLink": { "description": "Output only. Server-defined URL for the resource.", @@ -4071,11 +4072,13 @@ "description": "Autopilot general profile for the cluster, which defines the configuration for the cluster.", "enum": [ "AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED", - "NO_PERFORMANCE" + "NO_PERFORMANCE", + "NONE" ], "enumDescriptions": [ "Use default configuration.", - "Avoid extra IP consumption." + "Avoid extra IP consumption.", + "Use default configuration." ], "type": "string" }, @@ -4210,7 +4213,8 @@ }, "desiredCompliancePostureConfig": { "$ref": "CompliancePostureConfig", - "description": "Enable/Disable Compliance Posture features for the cluster." + "deprecated": true, + "description": "Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster." }, "desiredContainerdConfig": { "$ref": "ContainerdConfig", @@ -4708,7 +4712,8 @@ "type": "object" }, "CompliancePostureConfig": { - "description": "CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", + "deprecated": true, + "description": "Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", "id": "CompliancePostureConfig", "properties": { "complianceStandards": { @@ -4843,6 +4848,17 @@ }, "type": "object" }, + "CrashLoopBackOffConfig": { + "description": "Contains config to modify node-level parameters for container restart behavior.", + "id": "CrashLoopBackOffConfig", + "properties": { + "maxContainerRestartPeriod": { + "description": "Optional. The maximum duration the backoff delay can accrue to for container restarts, minimum 1 second, maximum 300 seconds. If not set, defaults to the internal crashloopbackoff maximum. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300ms\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". See https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay for more details.", + "type": "string" + } + }, + "type": "object" + }, "CreateClusterRequest": { "description": "CreateClusterRequest creates a cluster.", "id": "CreateClusterRequest", @@ -5139,6 +5155,35 @@ }, "type": "object" }, + "DisruptionBudget": { + "description": "DisruptionBudget defines the upgrade disruption budget for the cluster control plane.", + "id": "DisruptionBudget", + "properties": { + "lastDisruptionTime": { + "description": "Output only. The last time a disruption was performed on the control plane.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastMinorVersionDisruptionTime": { + "description": "Output only. The last time a minor version upgrade was performed on the control plane.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "minorVersionDisruptionInterval": { + "description": "Optional. The minimum duration between two minor version upgrades of the control plane.", + "format": "google-duration", + "type": "string" + }, + "patchVersionDisruptionInterval": { + "description": "Optional. The minimum duration between two patch version upgrades of the control plane.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "DisruptionEvent": { "description": "DisruptionEvent is a notification sent to customers about the disruption event of a resource.", "id": "DisruptionEvent", @@ -6513,6 +6558,10 @@ "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", "id": "MaintenancePolicy", "properties": { + "disruptionBudget": { + "$ref": "DisruptionBudget", + "description": "Optional. The upgrade disruption budget for the cluster control plane." + }, "resourceVersion": { "description": "A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy.", "type": "string" @@ -7391,6 +7440,10 @@ "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" }, + "crashLoopBackOff": { + "$ref": "CrashLoopBackOffConfig", + "description": "Optional. Contains configuration options to modify node-level parameters for container restart behavior." + }, "evictionMaxPodGracePeriodSeconds": { "description": "Optional. eviction_max_pod_grace_period_seconds is the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. This value effectively caps the Pod's terminationGracePeriodSeconds value during soft evictions. Default: 0. Range: [0, 300].", "format": "int32", @@ -7444,6 +7497,16 @@ "format": "int64", "type": "string" }, + "shutdownGracePeriodCriticalPodsSeconds": { + "description": "Optional. shutdown_grace_period_critical_pods_seconds is the maximum allowed grace period (in seconds) used to terminate critical pods during a node shutdown. This value should be <= shutdown_grace_period_seconds, and is only valid if shutdown_grace_period_seconds is set. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ Range: [0, 120].", + "format": "int32", + "type": "integer" + }, + "shutdownGracePeriodSeconds": { + "description": "Optional. shutdown_grace_period_seconds is the maximum allowed grace period (in seconds) the total duration that the node should delay the shutdown during a graceful shutdown. This is the total grace period for pod termination for both regular and critical pods. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ If set to 0, node will not enable the graceful node shutdown functionality. This field is only valid for Spot VMs. Allowed values: 0, 30, 120.", + "format": "int32", + "type": "integer" + }, "singleProcessOomKill": { "description": "Optional. Defines whether to enable single process OOM killer. If true, will prevent the memory.oom.group flag from being set for container cgroups in cgroups v2. This causes processes in the container to be OOM killed individually instead of as a group.", "type": "boolean" @@ -7546,7 +7609,7 @@ "type": "string" }, "subnetwork": { - "description": "Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: 1. A user supplied subnetwork name/full path during node pool creation. Example1: my-subnet Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet 2. A subnetwork path picked based on the IP utilization during node pool creation and is immutable.", + "description": "Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable.", "type": "string" } }, @@ -8990,11 +9053,17 @@ "BASIC", "ENTERPRISE" ], + "enumDeprecated": [ + false, + false, + false, + true + ], "enumDescriptions": [ "Default value not specified.", "Disables Security Posture features on the cluster.", "Applies Security Posture features on the cluster.", - "Applies the Security Posture off cluster Enterprise level features." + "Deprecated: Security Posture Enterprise features are no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Applies the Security Posture off cluster Enterprise level features." ], "type": "string" }, @@ -9006,10 +9075,16 @@ "VULNERABILITY_BASIC", "VULNERABILITY_ENTERPRISE" ], + "enumDeprecated": [ + false, + false, + true, + false + ], "enumDescriptions": [ "Default value not specified.", "Disables vulnerability scanning on the cluster.", - "Applies basic vulnerability scanning on the cluster.", + "Deprecated: Basic vulnerability scanning is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Applies basic vulnerability scanning on the cluster.", "Applies the Security Posture's vulnerability on cluster Enterprise level features." ], "type": "string" diff --git a/discovery/datacatalog-v1.json b/discovery/datacatalog-v1.json index 5546cc33215..c8e76911e4e 100644 --- a/discovery/datacatalog-v1.json +++ b/discovery/datacatalog-v1.json @@ -2344,7 +2344,7 @@ } } }, - "revision": "20251226", + "revision": "20260211", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -4758,7 +4758,7 @@ "type": "object" }, "GoogleCloudDatacatalogV1TagTemplate": { - "description": "A tag template defines a tag that can have one or more typed fields. The template is used to create tags that are attached to Google Cloud resources. [Tag template roles] (https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. For example, see the [TagTemplate User] (https://cloud.google.com/data-catalog/docs/how-to/template-user) role that includes a permission to use the tag template to tag resources.", + "description": "A tag template defines a tag that can have one or more typed fields. The template is used to create tags that are attached to Google Cloud resources. [Tag template roles] (https://cloud.google.com/iam/docs/roles-permissions/datacatalog) provide permissions to create, edit, and use the template. For example, see the [TagTemplate User] (https://cloud.google.com/data-catalog/docs/how-to/template-user) role that includes a permission to use the tag template to tag resources.", "id": "GoogleCloudDatacatalogV1TagTemplate", "properties": { "dataplexTransferStatus": { diff --git a/discovery/datacatalog-v1beta1.json b/discovery/datacatalog-v1beta1.json index 8f5c5810f7e..f3f6399f478 100644 --- a/discovery/datacatalog-v1beta1.json +++ b/discovery/datacatalog-v1beta1.json @@ -1855,7 +1855,7 @@ } } }, - "revision": "20251226", + "revision": "20260211", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -4577,7 +4577,7 @@ "type": "object" }, "GoogleCloudDatacatalogV1beta1TagTemplate": { - "description": "A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources.", + "description": "A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/roles-permissions/datacatalog) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources.", "id": "GoogleCloudDatacatalogV1beta1TagTemplate", "properties": { "dataplexTransferStatus": { diff --git a/discovery/dataflow-v1b3.json b/discovery/dataflow-v1b3.json index dd1236b10da..8930c7cd6a5 100644 --- a/discovery/dataflow-v1b3.json +++ b/discovery/dataflow-v1b3.json @@ -89,6 +89,16 @@ "endpointUrl": "https://dataflow.europe-central2.rep.googleapis.com/", "location": "europe-central2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-southwest1.rep.googleapis.com/", @@ -109,11 +119,21 @@ "endpointUrl": "https://dataflow.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-west3.rep.googleapis.com/", "location": "europe-west3" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-west6.rep.googleapis.com/", @@ -159,6 +179,11 @@ "endpointUrl": "https://dataflow.northamerica-south1.rep.googleapis.com/", "location": "northamerica-south1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.southamerica-west1.rep.googleapis.com/", @@ -2375,7 +2400,7 @@ } } }, - "revision": "20260118", + "revision": "20260213", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -3971,6 +3996,11 @@ "description": "Request to get worker stacktraces from debug capture.", "id": "GetWorkerStacktracesRequest", "properties": { + "endTime": { + "description": "The end time for the stacktrace query. The returned stacktraces will be a recent stack trace at or shortly before this time.", + "format": "google-datetime", + "type": "string" + }, "workerId": { "description": "The worker for which to get stacktraces. The returned stacktraces will be for the SDK harness running on this worker.", "type": "string" @@ -4254,6 +4284,11 @@ "description": "Optional. The user-specified Dataflow job name. Only one active job with a given name can exist in a project within one region at any given time. Jobs in different regions can have the same name. If a caller attempts to create a job with the same name as an active job that already exists, the attempt returns the existing job. The name must match the regular expression `[a-z]([-a-z0-9]{0,1022}[a-z0-9])?`", "type": "string" }, + "pausable": { + "description": "Output only. Indicates whether the job can be paused.", + "readOnly": true, + "type": "boolean" + }, "pipelineDescription": { "$ref": "PipelineDescription", "description": "Preliminary field: The format of this data may change at any time. A description of the user pipeline and stages through which it is executed. Created by Cloud Dataflow service. Only retrieved with JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL." @@ -5946,10 +5981,15 @@ "id": "RuntimeUpdatableParams", "properties": { "acceptableBacklogDuration": { - "description": "Optional. The backlog threshold duration in seconds for autoscaling. Value must be non-negative.", + "deprecated": true, + "description": "Optional. Deprecated: Use `autoscaling_tier` instead. The backlog threshold duration in seconds for autoscaling. Value must be non-negative.", "format": "google-duration", "type": "string" }, + "autoscalingTier": { + "description": "Optional. The backlog threshold tier for autoscaling. Value must be one of \"low-latency\", \"medium-latency\", or \"high-latency\".", + "type": "string" + }, "maxNumWorkers": { "description": "The maximum number of workers to cap autoscaling at. This field is currently only supported for Streaming Engine jobs.", "format": "int32", @@ -8154,6 +8194,16 @@ ], "type": "string" }, + "diskProvisionedIops": { + "description": "Optional. IOPS provisioned for the root disk for VMs.", + "format": "int64", + "type": "string" + }, + "diskProvisionedThroughputMibps": { + "description": "Optional. Throughput provisioned for the root disk for VMs.", + "format": "int64", + "type": "string" + }, "diskSizeGb": { "description": "Size of root disk for VMs, in GB. If zero or unspecified, the service will attempt to choose a reasonable default.", "format": "int32", diff --git a/discovery/datafusion-v1.json b/discovery/datafusion-v1.json index c500de36f15..6a483090a7b 100644 --- a/discovery/datafusion-v1.json +++ b/discovery/datafusion-v1.json @@ -875,7 +875,7 @@ "type": "string" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "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" } @@ -940,7 +940,7 @@ } } }, - "revision": "20251203", + "revision": "20260202", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -1506,7 +1506,7 @@ "type": "array" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "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" }, @@ -1553,6 +1553,10 @@ "description": "Logging configuration for a Data Fusion instance.", "id": "LoggingConfig", "properties": { + "enableInstanceV2Logs": { + "description": "Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above.", + "type": "boolean" + }, "instanceCloudLoggingDisabled": { "description": "Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging.", "type": "boolean" diff --git a/discovery/datafusion-v1beta1.json b/discovery/datafusion-v1beta1.json index 1ab54451505..a60c3cc7955 100644 --- a/discovery/datafusion-v1beta1.json +++ b/discovery/datafusion-v1beta1.json @@ -1073,7 +1073,7 @@ "type": "string" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "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" } @@ -1138,7 +1138,7 @@ } } }, - "revision": "20251203", + "revision": "20260202", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -1737,7 +1737,7 @@ "type": "array" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "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" }, @@ -1784,6 +1784,10 @@ "description": "Logging configuration for a Data Fusion instance.", "id": "LoggingConfig", "properties": { + "enableInstanceV2Logs": { + "description": "Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above.", + "type": "boolean" + }, "instanceCloudLoggingDisabled": { "description": "Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging.", "type": "boolean" diff --git a/discovery/datalabeling-v1beta1.json b/discovery/datalabeling-v1beta1.json index 46104937724..e225a6517ed 100644 --- a/discovery/datalabeling-v1beta1.json +++ b/discovery/datalabeling-v1beta1.json @@ -1581,6 +1581,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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", @@ -1596,7 +1601,7 @@ } } }, - "revision": "20250127", + "revision": "20260201", "rootUrl": "https://datalabeling.googleapis.com/", "schemas": { "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": { @@ -5580,6 +5585,13 @@ "$ref": "GoogleLongrunningOperation" }, "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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/datamanager-v1.json b/discovery/datamanager-v1.json index 483c2654d7e..102aad7cc0a 100644 --- a/discovery/datamanager-v1.json +++ b/discovery/datamanager-v1.json @@ -105,6 +105,627 @@ }, "protocol": "rest", "resources": { + "accountTypes": { + "resources": { + "accounts": { + "resources": { + "insights": { + "methods": { + "retrieve": { + "description": "Retrieves marketing data insights for a given user list. This feature is only available to data partners. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/insights:retrieve", + "httpMethod": "POST", + "id": "datamanager.accountTypes.accounts.insights.retrieve", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent account that owns the user list. Format: `accountTypes/{account_type}/accounts/{account}`", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/insights:retrieve", + "request": { + "$ref": "RetrieveInsightsRequest" + }, + "response": { + "$ref": "RetrieveInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + } + }, + "partnerLinks": { + "methods": { + "create": { + "description": "Creates a partner link for the given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/partnerLinks", + "httpMethod": "POST", + "id": "datamanager.accountTypes.accounts.partnerLinks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, which owns this collection of partner links. Format: accountTypes/{account_type}/accounts/{account}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/partnerLinks", + "request": { + "$ref": "PartnerLink" + }, + "response": { + "$ref": "PartnerLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "delete": { + "description": "Deletes a partner link for the given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/partnerLinks/{partnerLinksId}", + "httpMethod": "DELETE", + "id": "datamanager.accountTypes.accounts.partnerLinks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the partner link to delete. Format: accountTypes/{account_type}/accounts/{account}/partnerLinks/{partner_link}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/partnerLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "search": { + "description": "Searches for all partner links to and from a given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/partnerLinks:search", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.partnerLinks.search", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` Example: `owning_account.account_type = \"GOOGLE_ADS\" OR partner_account.account_id = 987654321`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of partner links to return. The service may return fewer than this value. If unspecified, at most 10 partner links will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `SearchPartnerLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchPartnerLinks` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Account to search for partner links. If no `filter` is specified, all partner links where this account is either the `owning_account` or `partner_account` are returned. Format: `accountTypes/{account_type}/accounts/{account}`", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/partnerLinks:search", + "response": { + "$ref": "SearchPartnerLinksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + } + }, + "userListDirectLicenses": { + "methods": { + "create": { + "description": "Creates a user list direct license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListDirectLicenses", + "httpMethod": "POST", + "id": "datamanager.accountTypes.accounts.userListDirectLicenses.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE}/accounts/{ACCOUNT_ID}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userListDirectLicenses", + "request": { + "$ref": "UserListDirectLicense" + }, + "response": { + "$ref": "UserListDirectLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "get": { + "description": "Retrieves a user list direct license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListDirectLicenses/{userListDirectLicensesId}", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userListDirectLicenses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the user list direct license.", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userListDirectLicenses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UserListDirectLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "list": { + "description": "Lists all user list direct licenses owned by the parent account. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListDirectLicenses", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userListDirectLicenses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `>` - `>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of licenses to return per page. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE}/accounts/{ACCOUNT_ID}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userListDirectLicenses", + "response": { + "$ref": "ListUserListDirectLicensesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "patch": { + "description": "Updates a user list direct license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListDirectLicenses/{userListDirectLicensesId}", + "httpMethod": "PATCH", + "id": "datamanager.accountTypes.accounts.userListDirectLicenses.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the user list direct license.", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userListDirectLicenses/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "UserListDirectLicense" + }, + "response": { + "$ref": "UserListDirectLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + } + }, + "userListGlobalLicenses": { + "methods": { + "create": { + "description": "Creates a user list global license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListGlobalLicenses", + "httpMethod": "POST", + "id": "datamanager.accountTypes.accounts.userListGlobalLicenses.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE}/accounts/{ACCOUNT_ID}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userListGlobalLicenses", + "request": { + "$ref": "UserListGlobalLicense" + }, + "response": { + "$ref": "UserListGlobalLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "get": { + "description": "Retrieves a user list global license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListGlobalLicenses/{userListGlobalLicensesId}", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userListGlobalLicenses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the user list global license.", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userListGlobalLicenses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UserListGlobalLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "list": { + "description": "Lists all user list global licenses owned by the parent account. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListGlobalLicenses", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userListGlobalLicenses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `>` - `>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListGlobalLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE}/accounts/{ACCOUNT_ID}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userListGlobalLicenses", + "response": { + "$ref": "ListUserListGlobalLicensesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "patch": { + "description": "Updates a user list global license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListGlobalLicenses/{userListGlobalLicensesId}", + "httpMethod": "PATCH", + "id": "datamanager.accountTypes.accounts.userListGlobalLicenses.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the user list global license.", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userListGlobalLicenses/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "UserListGlobalLicense" + }, + "response": { + "$ref": "UserListGlobalLicense" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + }, + "resources": { + "userListGlobalLicenseCustomerInfos": { + "methods": { + "list": { + "description": "Lists all customer info for a user list global license. This feature is only available to data partners.", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userListGlobalLicenses/{userListGlobalLicensesId}/userListGlobalLicenseCustomerInfos", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userListGlobalLicenses.userListGlobalLicenseCustomerInfos.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `>` - `>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The global license whose customer info are being queried. Should be in the format `accountTypes/{ACCOUNT_TYPE}/accounts/{ACCOUNT_ID}/userListGlobalLicenses/{USER_LIST_GLOBAL_LICENSE_ID}`. To list all global license customer info under an account, replace the user list global license id with a '-' (for example, `accountTypes/DATA_PARTNER/accounts/123/userListGlobalLicenses/-`)", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userListGlobalLicenses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userListGlobalLicenseCustomerInfos", + "response": { + "$ref": "ListUserListGlobalLicenseCustomerInfosResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + } + } + } + }, + "userLists": { + "methods": { + "create": { + "description": "Creates a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userLists", + "httpMethod": "POST", + "id": "datamanager.accountTypes.accounts.userLists.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent account where this user list will be created. Format: accountTypes/{account_type}/accounts/{account}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/userLists", + "request": { + "$ref": "UserList" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "delete": { + "description": "Deletes a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userLists/{userListsId}", + "httpMethod": "DELETE", + "id": "datamanager.accountTypes.accounts.userLists.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user list to delete. Format: accountTypes/{account_type}/accounts/{account}/userLists/{user_list}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "get": { + "description": "Gets a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userLists/{userListsId}", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userLists.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the UserList to retrieve. Format: accountTypes/{account_type}/accounts/{account}/userLists/{user_list}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "list": { + "description": "Lists UserLists. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userLists", + "httpMethod": "GET", + "id": "datamanager.accountTypes.accounts.userLists.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `display_name = \"list 1\"`). Supported operations: - `AND` - `=` - `!=` - `>` - `>=` - `<` - `<=` - `:` (has) Supported fields: - `id` - `display_name` - `description` - `membership_status` - `integration_code` - `access_reason` - `ingested_user_list_info.upload_key_types`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of user lists to return. The service may return fewer than this value. If unspecified, at most 50 user lists 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 `ListUserLists` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLists` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent account which owns this collection of user lists. Format: accountTypes/{account_type}/accounts/{account}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userLists", + "response": { + "$ref": "ListUserListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + }, + "patch": { + "description": "Updates a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType}/accounts/{loginAccountId}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType}/accounts/{linkedAccountId}`", + "flatPath": "v1/accountTypes/{accountTypesId}/accounts/{accountsId}/userLists/{userListsId}", + "httpMethod": "PATCH", + "id": "datamanager.accountTypes.accounts.userLists.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the user list. Format: accountTypes/{account_type}/accounts/{account}/userLists/{user_list}", + "location": "path", + "pattern": "^accountTypes/[^/]+/accounts/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "UserList" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/datamanager" + ] + } + } + } + } + } + } + }, "audienceMembers": { "methods": { "ingest": { @@ -193,7 +814,7 @@ } } }, - "revision": "20260102", + "revision": "20260217", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdIdentifiers": { @@ -267,11 +888,19 @@ }, "pairData": { "$ref": "PairData", - "description": "[Publisher Advertiser Identity Reconciliation (PAIR) IDs](//support.google.com/admanager/answer/15067908)." + "description": "[Publisher Advertiser Identity Reconciliation (PAIR) IDs](//support.google.com/admanager/answer/15067908). This feature is only available to data partners." + }, + "ppidData": { + "$ref": "PpidData", + "description": "Data related to publisher provided identifiers. This feature is only available to data partners." }, "userData": { "$ref": "UserData", "description": "User-provided data that identifies the user." + }, + "userIdData": { + "$ref": "UserIdData", + "description": "Data related to unique identifiers for a user, as defined by the advertiser." } }, "type": "object" @@ -307,6 +936,21 @@ }, "type": "object" }, + "Baseline": { + "description": "Baseline criteria against which insights are compared.", + "id": "Baseline", + "properties": { + "baselineLocation": { + "$ref": "Location", + "description": "The baseline location of the request. Baseline location is an OR-list of the requested regions." + }, + "locationAutoDetectionEnabled": { + "description": "If set to true, the service will try to automatically detect the baseline location for insights.", + "type": "boolean" + } + }, + "type": "object" + }, "CartData": { "description": "The cart data associated with the event.", "id": "CartData", @@ -373,6 +1017,37 @@ }, "type": "object" }, + "ContactIdInfo": { + "description": "Additional information when `CONTACT_ID` is one of the `upload_key_types`.", + "id": "ContactIdInfo", + "properties": { + "dataSourceType": { + "description": "Optional. Immutable. Source of the upload data", + "enum": [ + "DATA_SOURCE_TYPE_UNSPECIFIED", + "DATA_SOURCE_TYPE_FIRST_PARTY", + "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU", + "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE", + "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA" + ], + "enumDescriptions": [ + "Not specified.", + "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" + }, + "matchRatePercentage": { + "description": "Output only. Match rate for customer match user lists.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "CustomVariable": { "description": "Custom variable for ads conversions.", "id": "CustomVariable", @@ -437,6 +1112,12 @@ }, "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" + }, "EncryptionInfo": { "description": "Encryption information for the data being ingested.", "id": "EncryptionInfo", @@ -791,9 +1472,17 @@ "$ref": "IngestPairDataStatus", "description": "The status of the pair data ingestion to the destination." }, + "ppidDataIngestionStatus": { + "$ref": "IngestPpidDataStatus", + "description": "The status of the ppid data ingestion to the destination." + }, "userDataIngestionStatus": { "$ref": "IngestUserDataStatus", "description": "The status of the user data ingestion to the destination." + }, + "userIdDataIngestionStatus": { + "$ref": "IngestUserIdDataStatus", + "description": "The status of the user id data ingestion to the destination." } }, "type": "object" @@ -902,6 +1591,23 @@ }, "type": "object" }, + "IngestPpidDataStatus": { + "description": "The status of the ppid data ingestion to the destination containing stats related to the ingestion.", + "id": "IngestPpidDataStatus", + "properties": { + "ppidCount": { + "description": "The total count of ppids sent in the upload request for the destination. Includes all ppids in the request, regardless of whether they were successfully ingested or not.", + "format": "int64", + "type": "string" + }, + "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" + } + }, + "type": "object" + }, "IngestUserDataStatus": { "description": "The status of the user data ingestion to the destination containing stats related to the ingestion.", "id": "IngestUserDataStatus", @@ -949,6 +1655,77 @@ }, "type": "object" }, + "IngestUserIdDataStatus": { + "description": "The status of the user id data ingestion to the destination containing stats related to the ingestion.", + "id": "IngestUserIdDataStatus", + "properties": { + "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" + }, + "userIdCount": { + "description": "The total count of user ids sent in the upload request for the destination. Includes all user ids in the request, regardless of whether they were successfully ingested or not.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "IngestedUserListInfo": { + "description": "Represents a user list that is populated by user provided data.", + "id": "IngestedUserListInfo", + "properties": { + "contactIdInfo": { + "$ref": "ContactIdInfo", + "description": "Optional. Additional information when `CONTACT_ID` is one of the `upload_key_types`." + }, + "mobileIdInfo": { + "$ref": "MobileIdInfo", + "description": "Optional. Additional information when `MOBILE_ID` is one of the `upload_key_types`." + }, + "pairIdInfo": { + "$ref": "PairIdInfo", + "description": "Optional. Additional information when `PAIR_ID` is one of the `upload_key_types`. This feature is only available to data partners." + }, + "partnerAudienceInfo": { + "$ref": "PartnerAudienceInfo", + "description": "Optional. Additional information for partner audiences. This feature is only available to data partners." + }, + "pseudonymousIdInfo": { + "$ref": "PseudonymousIdInfo", + "description": "Optional. Additional information for `PSEUDONYMOUS_ID` is one of the `upload_key_types`." + }, + "uploadKeyTypes": { + "description": "Required. Immutable. Upload key types of this user list.", + "items": { + "enum": [ + "UPLOAD_KEY_TYPE_UNSPECIFIED", + "CONTACT_ID", + "MOBILE_ID", + "USER_ID", + "PAIR_ID", + "PSEUDONYMOUS_ID" + ], + "enumDescriptions": [ + "Not specified.", + "Customer info such as email address, phone number or physical address.", + "Mobile advertising ids.", + "Third party provided user ids.", + "Publisher advertiser identity reconciliation ids.", + "Data Management Platform IDs: - Google User ID - Partner Provided ID - Publisher Provided ID - iOS IDFA - Android advertising ID - Roku ID - Amazon Fire TV ID - Xbox or Microsoft ID" + ], + "type": "string" + }, + "type": "array" + }, + "userIdInfo": { + "$ref": "UserIdInfo", + "description": "Optional. Additional information when `USER_ID` is one of the `upload_key_types`." + } + }, + "type": "object" + }, "Item": { "description": "Represents an item in the cart associated with the event.", "id": "Item", @@ -996,6 +1773,183 @@ }, "type": "object" }, + "ListUserListDirectLicensesResponse": { + "description": "Response from the ListUserListDirectLicensesRequest.", + "id": "ListUserListDirectLicensesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "userListDirectLicenses": { + "description": "The licenses for the given user list in the request.", + "items": { + "$ref": "UserListDirectLicense" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUserListGlobalLicenseCustomerInfosResponse": { + "description": "Response from the ListUserListGlobalLicensesCustomerInfoRequest.", + "id": "ListUserListGlobalLicenseCustomerInfosResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "userListGlobalLicenseCustomerInfos": { + "description": "The customer information for the given license in the request.", + "items": { + "$ref": "UserListGlobalLicenseCustomerInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUserListGlobalLicensesResponse": { + "description": "Response from the ListUserListGlobalLicensesRequest.", + "id": "ListUserListGlobalLicensesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "userListGlobalLicenses": { + "description": "The licenses for the given user list in the request.", + "items": { + "$ref": "UserListGlobalLicense" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUserListsResponse": { + "description": "Response message for ListUserLists.", + "id": "ListUserListsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "userLists": { + "description": "The user lists from the specified account.", + "items": { + "$ref": "UserList" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "The baseline location of the request. Baseline location is on OR-list of ISO 3166-1 alpha-2 region codes of the requested regions.", + "id": "Location", + "properties": { + "regionCodes": { + "description": "List of ISO 3166-1 alpha-2 region codes.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MarketingDataInsight": { + "description": "Insights for marketing data. This feature is only available to data partners.", + "id": "MarketingDataInsight", + "properties": { + "attributes": { + "description": "Insights for values of a given dimension.", + "items": { + "$ref": "MarketingDataInsightsAttribute" + }, + "type": "array" + }, + "dimension": { + "description": "The dimension to which the insight belongs.", + "enum": [ + "AUDIENCE_INSIGHTS_DIMENSION_UNSPECIFIED", + "AUDIENCE_INSIGHTS_DIMENSION_UNKNOWN", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "AGE_RANGE", + "GENDER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "An age range.", + "A gender." + ], + "type": "string" + } + }, + "type": "object" + }, + "MarketingDataInsightsAttribute": { + "description": "Insights for a collection of related attributes of the same dimension.", + "id": "MarketingDataInsightsAttribute", + "properties": { + "ageRange": { + "description": "Age range of the audience for which the lift is provided.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_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" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown.", + "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." + ], + "type": "string" + }, + "gender": { + "description": "Gender of the audience for which the lift is provided.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_UNKNOWN", + "GENDER_MALE", + "GENDER_FEMALE" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown.", + "Male.", + "Female." + ], + "type": "string" + }, + "lift": { + "description": "Measure of lift that the audience has for the attribute value as compared to the baseline. Range [0-1].", + "format": "float", + "type": "number" + }, + "userInterestId": { + "description": "The user interest ID.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "MobileData": { "description": "Mobile IDs for the audience. At least one mobile ID is required.", "id": "MobileData", @@ -1010,8 +1964,51 @@ }, "type": "object" }, + "MobileIdInfo": { + "description": "Additional information when `MOBILE_ID` is one of the `upload_key_types`.", + "id": "MobileIdInfo", + "properties": { + "appId": { + "description": "Required. Immutable. A string that uniquely identifies a mobile application from which the data was collected.", + "type": "string" + }, + "dataSourceType": { + "description": "Optional. Immutable. Source of the upload data.", + "enum": [ + "DATA_SOURCE_TYPE_UNSPECIFIED", + "DATA_SOURCE_TYPE_FIRST_PARTY", + "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU", + "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE", + "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA" + ], + "enumDescriptions": [ + "Not specified.", + "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" + }, + "keySpace": { + "description": "Required. Immutable. The key space of mobile IDs.", + "enum": [ + "KEY_SPACE_UNSPECIFIED", + "IOS", + "ANDROID" + ], + "enumDescriptions": [ + "Not specified.", + "The iOS keyspace.", + "The Android keyspace." + ], + "type": "string" + } + }, + "type": "object" + }, "PairData": { - "description": "[PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience. At least one PAIR ID is required.", + "description": "[PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience. At least one PAIR ID is required. This feature is only available to data partners.", "id": "PairData", "properties": { "pairIds": { @@ -1024,6 +2021,103 @@ }, "type": "object" }, + "PairIdInfo": { + "description": "Additional information when `PAIR_ID` is one of the `upload_key_types`. This feature is only available to data partners.", + "id": "PairIdInfo", + "properties": { + "advertiserIdentifierCount": { + "description": "Output only. The count of the advertiser's first party data records that have been uploaded to a clean room provider. This does not signify the size of a PAIR user list.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cleanRoomIdentifier": { + "description": "Required. Immutable. Identifies a unique advertiser to publisher relationship with one clean room provider or across multiple clean room providers.", + "type": "string" + }, + "matchRatePercentage": { + "description": "Output only. This field denotes the percentage of membership match of this user list with the corresponding publisher's first party data. Must be between 0 and 100 inclusive.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "publisherId": { + "description": "Required. Immutable. Identifies the publisher that the Publisher Advertiser Identity Reconciliation user list is reconciled with. This field is provided by the cleanroom provider and is only unique in the scope of that cleanroom. This cannot be used as a global identifier across multiple cleanrooms.", + "format": "int64", + "type": "string" + }, + "publisherName": { + "description": "Optional. Descriptive name of the publisher to be displayed in the UI for a better targeting experience.", + "type": "string" + } + }, + "type": "object" + }, + "PartnerAudienceInfo": { + "description": "Additional information for partner audiences. This feature is only available to data partners.", + "id": "PartnerAudienceInfo", + "properties": { + "commercePartner": { + "description": "Optional. The commerce partner name. Only allowed if `partner_audience_source` is `COMMERCE_AUDIENCE`.", + "type": "string" + }, + "partnerAudienceSource": { + "description": "Required. Immutable. The source of the partner audience.", + "enum": [ + "PARTNER_AUDIENCE_SOURCE_UNSPECIFIED", + "COMMERCE_AUDIENCE", + "LINEAR_TV_AUDIENCE", + "AGENCY_PROVIDER_AUDIENCE" + ], + "enumDescriptions": [ + "Not specified.", + "Partner Audience source is commerce audience.", + "Partner Audience source is linear TV audience.", + "Partner Audience source is agency/provider audience." + ], + "type": "string" + } + }, + "type": "object" + }, + "PartnerLink": { + "description": "A partner link between an owning account and a partner account.", + "id": "PartnerLink", + "properties": { + "name": { + "description": "Identifier. The name of the partner link. Format: accountTypes/{account_type}/accounts/{account}/partnerLinks/{partner_link}", + "type": "string" + }, + "owningAccount": { + "$ref": "ProductAccount", + "description": "Required. The owning account granting access to the partner account." + }, + "partnerAccount": { + "$ref": "ProductAccount", + "description": "Required. The partner account granted access by the owning account." + }, + "partnerLinkId": { + "description": "Output only. The partner link ID.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PpidData": { + "description": "Publisher provided identifiers data holding the ppids. At least one ppid is required. This feature is only available to data partners.", + "id": "PpidData", + "properties": { + "ppids": { + "description": "Required. The list of publisher provided identifiers for a user.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ProductAccount": { "description": "Represents a specific account.", "id": "ProductAccount", @@ -1040,7 +2134,8 @@ "DISPLAY_VIDEO_PARTNER", "DISPLAY_VIDEO_ADVERTISER", "DATA_PARTNER", - "GOOGLE_ANALYTICS_PROPERTY" + "GOOGLE_ANALYTICS_PROPERTY", + "GOOGLE_AD_MANAGER_AUDIENCE_LINK" ], "enumDescriptions": [ "Unspecified product. Should never be used.", @@ -1048,7 +2143,8 @@ "Display & Video 360 partner.", "Display & Video 360 advertiser.", "Data Partner.", - "Google Analytics." + "Google Analytics.", + "Google Ad Manager audience link." ], "type": "string" }, @@ -1074,6 +2170,35 @@ }, "type": "object" }, + "PseudonymousIdInfo": { + "description": "Additional information when `PSEUDONYMOUS_ID` is one of the `upload_key_types`.", + "id": "PseudonymousIdInfo", + "properties": { + "billableRecordCount": { + "description": "Optional. Immutable. The number of billable records (e.g. uploaded or matched).", + "format": "int64", + "type": "string" + }, + "syncStatus": { + "description": "Output only. Sync status of the user list.", + "enum": [ + "SYNC_STATUS_UNSPECIFIED", + "CREATED", + "READY_FOR_USE", + "FAILED" + ], + "enumDescriptions": [ + "Not specified.", + "The user list has been created as a placeholder. List contents and/or metadata are still being synced. The user list is not ready for use.", + "The user list is ready for use. Contents and cookies have been synced correctly.", + "An error has occurred syncing user list contents and/or metadata. The user list cannot be used." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RemoveAudienceMembersRequest": { "description": "Request to remove users from an audience in the provided destinations. Returns a RemoveAudienceMembersResponse.", "id": "RemoveAudienceMembersRequest", @@ -1140,9 +2265,17 @@ "$ref": "RemovePairDataStatus", "description": "The status of the pair data removal from the destination." }, + "ppidDataRemovalStatus": { + "$ref": "RemovePpidDataStatus", + "description": "The status of the ppid data removal from the destination." + }, "userDataRemovalStatus": { "$ref": "RemoveUserDataStatus", "description": "The status of the user data removal from the destination." + }, + "userIdDataRemovalStatus": { + "$ref": "RemoveUserIdDataStatus", + "description": "The status of the user id data removal from the destination." } }, "type": "object" @@ -1181,16 +2314,33 @@ }, "type": "object" }, - "RemoveUserDataStatus": { - "description": "The status of the user data removal from the destination.", - "id": "RemoveUserDataStatus", + "RemovePpidDataStatus": { + "description": "The status of the ppid data removal from the destination.", + "id": "RemovePpidDataStatus", "properties": { + "ppidCount": { + "description": "The total count of ppids sent in the removal request. Includes all ppids in the request, regardless of whether they were successfully removed or not.", + "format": "int64", + "type": "string" + }, "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" - }, - "userIdentifierCount": { + } + }, + "type": "object" + }, + "RemoveUserDataStatus": { + "description": "The status of the user data removal from the destination.", + "id": "RemoveUserDataStatus", + "properties": { + "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" + }, + "userIdentifierCount": { "description": "The total count of user identifiers sent in the removal request. Includes all user identifiers in the request, regardless of whether they were successfully removed or not.", "format": "int64", "type": "string" @@ -1198,6 +2348,23 @@ }, "type": "object" }, + "RemoveUserIdDataStatus": { + "description": "The status of the user id data removal from the destination.", + "id": "RemoveUserIdDataStatus", + "properties": { + "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" + }, + "userIdCount": { + "description": "The total count of user ids sent in the removal request. Includes all user ids in the request, regardless of whether they were successfully removed or not.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "RequestStatusPerDestination": { "description": "A request status per destination.", "id": "RequestStatusPerDestination", @@ -1247,6 +2414,35 @@ }, "type": "object" }, + "RetrieveInsightsRequest": { + "description": "Request message for DM API MarketingDataInsightsService.RetrieveInsights", + "id": "RetrieveInsightsRequest", + "properties": { + "baseline": { + "$ref": "Baseline", + "description": "Required. Baseline for the insights requested." + }, + "userListId": { + "description": "Required. The user list ID for which insights are requested.", + "type": "string" + } + }, + "type": "object" + }, + "RetrieveInsightsResponse": { + "description": "Response message for DM API MarketingDataInsightsService.RetrieveInsights", + "id": "RetrieveInsightsResponse", + "properties": { + "marketingDataInsights": { + "description": "Contains the insights for the marketing data.", + "items": { + "$ref": "MarketingDataInsight" + }, + "type": "array" + } + }, + "type": "object" + }, "RetrieveRequestStatusResponse": { "description": "Response from the RetrieveRequestStatusRequest.", "id": "RetrieveRequestStatusResponse", @@ -1261,6 +2457,43 @@ }, "type": "object" }, + "SearchPartnerLinksResponse": { + "description": "Response from the SearchPartnerLinksRequest.", + "id": "SearchPartnerLinksResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "partnerLinks": { + "description": "The partner links for the given account.", + "items": { + "$ref": "PartnerLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "SizeInfo": { + "description": "Estimated number of members in this user list in different target networks.", + "id": "SizeInfo", + "properties": { + "displayNetworkMembersCount": { + "description": "Output only. Estimated number of members in this user list, on the Google Display Network.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "searchNetworkMembersCount": { + "description": "Output only. Estimated number of members in this user list in the google.com domain. These are the members available for targeting in Search campaigns.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1288,6 +2521,22 @@ }, "type": "object" }, + "TargetNetworkInfo": { + "description": "Eligibility information for different target networks.", + "id": "TargetNetworkInfo", + "properties": { + "eligibleForDisplay": { + "description": "Output only. Indicates this user list is eligible for Google Display Network.", + "readOnly": true, + "type": "boolean" + }, + "eligibleForSearch": { + "description": "Optional. Indicates if this user list is eligible for Google Search Network.", + "type": "boolean" + } + }, + "type": "object" + }, "TermsOfService": { "description": "The terms of service that the user has accepted/rejected.", "id": "TermsOfService", @@ -1323,6 +2572,42 @@ }, "type": "object" }, + "UserIdData": { + "description": "User id data holding the user id.", + "id": "UserIdData", + "properties": { + "userId": { + "description": "Required. A unique identifier for a user, as defined by the advertiser.", + "type": "string" + } + }, + "type": "object" + }, + "UserIdInfo": { + "description": "Additional information when `USER_ID` is one of the `upload_key_types`.", + "id": "UserIdInfo", + "properties": { + "dataSourceType": { + "description": "Optional. Immutable. Source of the upload data.", + "enum": [ + "DATA_SOURCE_TYPE_UNSPECIFIED", + "DATA_SOURCE_TYPE_FIRST_PARTY", + "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU", + "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE", + "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA" + ], + "enumDescriptions": [ + "Not specified.", + "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" + }, "UserIdentifier": { "description": "A single identifier for the user.", "id": "UserIdentifier", @@ -1342,6 +2627,483 @@ }, "type": "object" }, + "UserList": { + "description": "A user list resource.", + "id": "UserList", + "properties": { + "accessReason": { + "description": "Output only. The reason this account has been granted access to the list.", + "enum": [ + "ACCESS_REASON_UNSPECIFIED", + "OWNED", + "SHARED", + "LICENSED", + "SUBSCRIBED", + "AFFILIATED" + ], + "enumDescriptions": [ + "Not specified.", + "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" + }, + "accountAccessStatus": { + "description": "Optional. Indicates if this share is still enabled. When a user list is shared with the account this field is set to `ENABLED`. Later the user list owner can decide to revoke the share and make it `DISABLED`.", + "enum": [ + "ACCESS_STATUS_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Not specified.", + "The access is enabled.", + "The access is disabled." + ], + "type": "string" + }, + "closingReason": { + "description": "Output only. The reason why this user list membership status is closed.", + "enum": [ + "CLOSING_REASON_UNSPECIFIED", + "UNUSED" + ], + "enumDescriptions": [ + "Not specified.", + "The user list was closed because it has not been used in targeting recently. See https://support.google.com/google-ads/answer/2472738 for details." + ], + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A description of the user list.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the user list.", + "type": "string" + }, + "id": { + "description": "Output only. The unique ID of the user list.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ingestedUserListInfo": { + "$ref": "IngestedUserListInfo", + "description": "Optional. Represents a user list that is populated by user ingested data." + }, + "integrationCode": { + "description": "Optional. An ID from external system. It is used by user list sellers to correlate IDs on their systems.", + "type": "string" + }, + "membershipDuration": { + "description": "Optional. The duration a user remains in the user list. Valid durations are exact multiples of 24 hours (86400 seconds). Providing a value that is not an exact multiple of 24 hours will result in an INVALID_ARGUMENT error.", + "format": "google-duration", + "type": "string" + }, + "membershipStatus": { + "description": "Optional. Membership status of this user list.", + "enum": [ + "MEMBERSHIP_STATUS_UNSPECIFIED", + "OPEN", + "CLOSED" + ], + "enumDescriptions": [ + "Not specified.", + "Open status - User list is accruing members and can be targeted to.", + "Closed status - No new members being added." + ], + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the user list. Format: accountTypes/{account_type}/accounts/{account}/userLists/{user_list}", + "type": "string" + }, + "readOnly": { + "description": "Output only. An option that indicates if a user may edit a list.", + "readOnly": true, + "type": "boolean" + }, + "sizeInfo": { + "$ref": "SizeInfo", + "description": "Output only. Estimated number of members in this user list in different target networks.", + "readOnly": true + }, + "targetNetworkInfo": { + "$ref": "TargetNetworkInfo", + "description": "Optional. Eligibility information for different target networks." + } + }, + "type": "object" + }, + "UserListDirectLicense": { + "description": "A user list direct license. This feature is only available to data partners.", + "id": "UserListDirectLicense", + "properties": { + "clientAccountDisplayName": { + "description": "Output only. Name of client customer which the user list is being licensed to. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "clientAccountId": { + "description": "Immutable. ID of client customer which the user list is being licensed to.", + "format": "int64", + "type": "string" + }, + "clientAccountType": { + "description": "Immutable. Account type of client customer which the user list is being licensed to.", + "enum": [ + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_UNKNOWN", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_ADS", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_PARTNER", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_ADVERTISER", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_AD_MANAGER_AUDIENCE_LINK" + ], + "enumDescriptions": [ + "Unknown.", + "Google Ads customer.", + "Display & Video 360 partner.", + "Display & Video 360 advertiser.", + "Google Ad Manager audience link." + ], + "type": "string" + }, + "historicalPricings": { + "description": "Output only. Pricing history of this user list license. This field is read-only.", + "items": { + "$ref": "UserListLicensePricing" + }, + "readOnly": true, + "type": "array" + }, + "metrics": { + "$ref": "UserListLicenseMetrics", + "description": "Output only. Metrics related to this license This field is read-only and only populated if the start and end dates are set in the ListUserListDirectLicenses call", + "readOnly": true + }, + "name": { + "description": "Identifier. The resource name of the user list direct license.", + "type": "string" + }, + "pricing": { + "$ref": "UserListLicensePricing", + "description": "Optional. UserListDirectLicense pricing." + }, + "status": { + "description": "Optional. Status of UserListDirectLicense - ENABLED or DISABLED.", + "enum": [ + "USER_LIST_LICENSE_STATUS_UNSPECIFIED", + "USER_LIST_LICENSE_STATUS_ENABLED", + "USER_LIST_LICENSE_STATUS_DISABLED" + ], + "enumDescriptions": [ + "Unknown.", + "Active status - user list is still being licensed.", + "Inactive status - user list is no longer being licensed." + ], + "type": "string" + }, + "userListDisplayName": { + "description": "Output only. Name of the user list being licensed. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "userListId": { + "description": "Immutable. ID of the user list being licensed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UserListGlobalLicense": { + "description": "A user list global license. This feature is only available to data partners.", + "id": "UserListGlobalLicense", + "properties": { + "historicalPricings": { + "description": "Output only. Pricing history of this user list license. This field is read-only.", + "items": { + "$ref": "UserListLicensePricing" + }, + "readOnly": true, + "type": "array" + }, + "licenseType": { + "description": "Immutable. Product type of client customer which the user list is being licensed to.", + "enum": [ + "USER_LIST_GLOBAL_LICENSE_TYPE_UNSPECIFIED", + "USER_LIST_GLOBAL_LICENSE_TYPE_RESELLER", + "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_SELL_SIDE", + "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_BUY_SIDE" + ], + "enumDescriptions": [ + "UNSPECIFIED.", + "Reseller license.", + "DataMart Sell Side license.", + "DataMart Buy Side license." + ], + "type": "string" + }, + "metrics": { + "$ref": "UserListLicenseMetrics", + "description": "Output only. Metrics related to this license This field is read-only and only populated if the start and end dates are set in the ListUserListGlobalLicenses call", + "readOnly": true + }, + "name": { + "description": "Identifier. The resource name of the user list global license.", + "type": "string" + }, + "pricing": { + "$ref": "UserListLicensePricing", + "description": "Optional. UserListGlobalLicense pricing." + }, + "status": { + "description": "Optional. Status of UserListGlobalLicense - ENABLED or DISABLED.", + "enum": [ + "USER_LIST_LICENSE_STATUS_UNSPECIFIED", + "USER_LIST_LICENSE_STATUS_ENABLED", + "USER_LIST_LICENSE_STATUS_DISABLED" + ], + "enumDescriptions": [ + "Unknown.", + "Active status - user list is still being licensed.", + "Inactive status - user list is no longer being licensed." + ], + "type": "string" + }, + "userListDisplayName": { + "description": "Output only. Name of the user list being licensed. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "userListId": { + "description": "Immutable. ID of the user list being licensed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "UserListGlobalLicenseCustomerInfo": { + "description": "Information about a customer of a user list global license. This will automatically be created by the system when a customer purchases a global license.", + "id": "UserListGlobalLicenseCustomerInfo", + "properties": { + "clientAccountDisplayName": { + "description": "Output only. Name of client customer which the user list is being licensed to.", + "readOnly": true, + "type": "string" + }, + "clientAccountId": { + "description": "Output only. ID of client customer which the user list is being licensed to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "clientAccountType": { + "description": "Output only. Product type of client customer which the user list is being licensed to.", + "enum": [ + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_UNKNOWN", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_ADS", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_PARTNER", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_ADVERTISER", + "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_AD_MANAGER_AUDIENCE_LINK" + ], + "enumDescriptions": [ + "Unknown.", + "Google Ads customer.", + "Display & Video 360 partner.", + "Display & Video 360 advertiser.", + "Google Ad Manager audience link." + ], + "readOnly": true, + "type": "string" + }, + "historicalPricings": { + "description": "Output only. Pricing history of this user list license.", + "items": { + "$ref": "UserListLicensePricing" + }, + "readOnly": true, + "type": "array" + }, + "licenseType": { + "description": "Output only. Product type of client customer which the user list is being licensed to.", + "enum": [ + "USER_LIST_GLOBAL_LICENSE_TYPE_UNSPECIFIED", + "USER_LIST_GLOBAL_LICENSE_TYPE_RESELLER", + "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_SELL_SIDE", + "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_BUY_SIDE" + ], + "enumDescriptions": [ + "UNSPECIFIED.", + "Reseller license.", + "DataMart Sell Side license.", + "DataMart Buy Side license." + ], + "readOnly": true, + "type": "string" + }, + "metrics": { + "$ref": "UserListLicenseMetrics", + "description": "Output only. Metrics related to this license This field is only populated if the start and end dates are set in the ListUserListGlobalLicenseCustomerInfos call.", + "readOnly": true + }, + "name": { + "description": "Identifier. The resource name of the user list global license customer.", + "type": "string" + }, + "pricing": { + "$ref": "UserListLicensePricing", + "description": "Output only. UserListDirectLicense pricing.", + "readOnly": true + }, + "status": { + "description": "Output only. Status of UserListDirectLicense - ENABLED or DISABLED.", + "enum": [ + "USER_LIST_LICENSE_STATUS_UNSPECIFIED", + "USER_LIST_LICENSE_STATUS_ENABLED", + "USER_LIST_LICENSE_STATUS_DISABLED" + ], + "enumDescriptions": [ + "Unknown.", + "Active status - user list is still being licensed.", + "Inactive status - user list is no longer being licensed." + ], + "readOnly": true, + "type": "string" + }, + "userListDisplayName": { + "description": "Output only. Name of the user list being licensed.", + "readOnly": true, + "type": "string" + }, + "userListId": { + "description": "Output only. ID of the user list being licensed.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserListLicenseMetrics": { + "description": "Metrics related to a user list license.", + "id": "UserListLicenseMetrics", + "properties": { + "clickCount": { + "description": "Output only. The number of clicks for the user list license.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "endDate": { + "description": "Output only. The end date (inclusive) of the metrics in the format YYYYMMDD. For example, 20260102 represents January 2, 2026. If `start_date` is used in the filter, `end_date` is also required. If neither `start_date` nor `end_date` are included in the filter, the UserListLicenseMetrics fields will not be populated in the response.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "impressionCount": { + "description": "Output only. The number of impressions for the user list license.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "revenueUsdMicros": { + "description": "Output only. The revenue for the user list license in USD micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "startDate": { + "description": "Output only. The start date (inclusive) of the metrics in the format YYYYMMDD. For example, 20260102 represents January 2, 2026. If `end_date` is used in the filter, `start_date` is also required. If neither `start_date` nor `end_date` are included in the filter, the UserListLicenseMetrics fields will not be populated in the response.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserListLicensePricing": { + "description": "A user list license pricing.", + "id": "UserListLicensePricing", + "properties": { + "buyerApprovalState": { + "description": "Output only. The buyer approval state of this pricing. This field is read-only.", + "enum": [ + "USER_LIST_PRICING_BUYER_APPROVAL_STATE_UNSPECIFIED", + "PENDING", + "APPROVED", + "REJECTED" + ], + "enumDescriptions": [ + "UNSPECIFIED.", + "User list client has not yet accepted the pricing terms set by the user list owner.", + "User list client has accepted the pricing terms set by the user list owner.", + "User list client has rejected the pricing terms set by the user list owner." + ], + "readOnly": true, + "type": "string" + }, + "costMicros": { + "description": "Optional. The cost associated with the model, in micro units (10^-6), in the currency specified by the currency_code field. For example, 2000000 means $2 if `currency_code` is `USD`.", + "format": "int64", + "type": "string" + }, + "costType": { + "description": "Immutable. The cost type of this pricing. Can be set only in the `create` operation. Can't be updated for an existing license.", + "enum": [ + "USER_LIST_PRICING_COST_TYPE_UNSPECIFIED", + "CPC", + "CPM", + "MEDIA_SHARE" + ], + "enumDescriptions": [ + "Unspecified.", + "Cost per click.", + "Cost per mille (thousand impressions).", + "Media share." + ], + "type": "string" + }, + "currencyCode": { + "description": "Optional. The currency in which cost and max_cost is specified. Must be a three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "endTime": { + "description": "Optional. End time of the pricing.", + "format": "google-datetime", + "type": "string" + }, + "maxCostMicros": { + "description": "Optional. The maximum CPM a commerce audience can be charged when the MEDIA_SHARE cost type is used. The value is in micro units (10^-6) and in the currency specified by the currency_code field. For example, 2000000 means $2 if `currency_code` is `USD`. This is only relevant when cost_type is MEDIA_SHARE. When cost_type is not MEDIA_SHARE, and this field is set, a MAX_COST_NOT_ALLOWED error will be returned. If not set or set to`0`, there is no cap.", + "format": "int64", + "type": "string" + }, + "pricingActive": { + "description": "Output only. Whether this pricing is active.", + "readOnly": true, + "type": "boolean" + }, + "pricingId": { + "description": "Output only. The ID of this pricing.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Start time of the pricing.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "UserProperties": { "description": "Advertiser-assessed information about the user at the time that the event happened. See https://support.google.com/google-ads/answer/14007601 for more details.", "id": "UserProperties", diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index f612871869b..38e7a9fd292 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -824,7 +824,7 @@ ] }, "lookupEntry": { - "description": "Looks up an entry by name using the permission on the source system. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes).", + "description": "Looks up an entry by name using the permission on the source system.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntry", "httpMethod": "GET", "id": "dataplex.projects.locations.lookupEntry", @@ -884,6 +884,68 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "lookupEntryLinks": { + "description": "Looks up Entry Links referencing the specified Entry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntryLinks", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lookupEntryLinks", + "parameterOrder": [ + "name" + ], + "parameters": { + "entry": { + "description": "Required. The resource name of the referred Entry. Format: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}. Entry Links which references this entry will be returned in the response.", + "location": "query", + "type": "string" + }, + "entryLinkTypes": { + "description": "Entry link types to filter the response by. If empty, all entry link types will be returned. At most 10 entry link types can be specified.", + "location": "query", + "repeated": true, + "type": "string" + }, + "entryMode": { + "description": "Mode of entry reference.", + "enum": [ + "ENTRY_MODE_UNSPECIFIED", + "SOURCE", + "TARGET" + ], + "enumDescriptions": [ + "Unspecified entry mode. Returns both directional and non-directional entry links which references the entry.", + "Returns all directed entry links which references the entry as source.", + "Return all directed entry links which references the entry as target." + ], + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The project to which the request should be attributed to Format: projects/{project_id_or_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Maximum number of EntryLinks to return. The service may return fewer than this value. If unspecified, at most 10 EntryLinks will be returned. The maximum value is 10; values above 10 will be coerced to 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token received from a previous LookupEntryLinks call. Provide this to retrieve the subsequent page. When paginating, all other parameters that are provided to the LookupEntryLinks request must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:lookupEntryLinks", + "response": { + "$ref": "GoogleCloudDataplexV1LookupEntryLinksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "searchEntries": { "description": "Searches for Entries matching the given query and scope.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchEntries", @@ -3372,7 +3434,7 @@ ] }, "get": { - "description": "Gets an Entry. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes).", + "description": "Gets an Entry.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "GET", "id": "dataplex.projects.locations.entryGroups.entries.get", @@ -3428,7 +3490,7 @@ ] }, "list": { - "description": "Lists Entries within an EntryGroup. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes).", + "description": "Lists Entries within an EntryGroup.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", "httpMethod": "GET", "id": "dataplex.projects.locations.entryGroups.entries.list", @@ -7772,13 +7834,104 @@ ] } } + }, + "policyIntents": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.policyIntents.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.policyIntents.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.policyIntents.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } } } }, - "revision": "20260127", + "revision": "20260213", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -10023,12 +10176,19 @@ "description": "Optional. The unnested column which this rule is evaluated against.", "type": "string" }, + "debugQueries": { + "description": "Optional. Specifies the debug queries for this rule. Currently, only one query is supported, but this may be expanded in the future.", + "items": { + "$ref": "GoogleCloudDataplexV1DataQualityRuleDebugQuery" + }, + "type": "array" + }, "description": { "description": "Optional. Description of the rule. The maximum length is 1,024 characters.", "type": "string" }, "dimension": { - "description": "Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters.", + "description": "Optional. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters.", "type": "string" }, "ignoreNull": { @@ -10087,6 +10247,21 @@ }, "type": "object" }, + "GoogleCloudDataplexV1DataQualityRuleDebugQuery": { + "description": "Specifies a SQL statement that is evaluated to return up to 10 scalar values that are used to debug rules. If the rule fails, the values can help diagnose the cause of the failure.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter ${data()} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).You can also name results with an explicit alias using [AS] alias. For more information, see BigQuery explicit aliases (https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#explicit_alias_syntax).Example: SELECT MIN(col1) AS min_col1, MAX(col1) AS max_col1 FROM ${data()}", + "id": "GoogleCloudDataplexV1DataQualityRuleDebugQuery", + "properties": { + "description": { + "description": "Optional. Specifies the description of the debug query. The maximum length is 1,024 characters.", + "type": "string" + }, + "sqlStatement": { + "description": "Required. Specifies the SQL statement to be executed.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation": { "description": "Evaluates whether each column value is null.", "id": "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation", @@ -10137,6 +10312,14 @@ "readOnly": true, "type": "string" }, + "debugQueriesResultSets": { + "description": "Output only. Contains the results of all debug queries for this rule. The number of result sets will correspond to the number of debug_queries.", + "items": { + "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet" + }, + "readOnly": true, + "type": "array" + }, "evaluatedCount": { "description": "Output only. The number of rows a rule was evaluated against.This field is only valid for row-level type rules.Evaluated count can be configured to either include all rows (default) - with null rows automatically failing rule evaluation, or exclude null rows from the evaluated_count, by setting ignore_nulls = true.This field is not set for rule SqlAssertion.", "format": "int64", @@ -10179,6 +10362,40 @@ }, "type": "object" }, + "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult": { + "description": "Contains a single result from the debug query.", + "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult", + "properties": { + "name": { + "description": "Specifies the name of the result. Available if provided with an explicit alias using [AS] alias.", + "type": "string" + }, + "type": { + "description": "Indicates the data type of the result. For more information, see BigQuery data types (https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types).", + "type": "string" + }, + "value": { + "description": "Represents the value of the result as a string.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet": { + "description": "Contains all results from a debug query.", + "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet", + "properties": { + "results": { + "description": "Output only. Contains all results. Up to 10 results can be returned.", + "items": { + "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation": { "description": "Evaluates whether each row passes the specified condition.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a boolean value per row as the result.Example: col1 >= 0 AND col2 < 10", "id": "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation", @@ -13367,6 +13584,24 @@ }, "type": "object" }, + "GoogleCloudDataplexV1LookupEntryLinksResponse": { + "description": "Response message for LookupEntryLinks.", + "id": "GoogleCloudDataplexV1LookupEntryLinksResponse", + "properties": { + "entryLinks": { + "description": "List of entry links that reference the specified entry.", + "items": { + "$ref": "GoogleCloudDataplexV1EntryLink" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1MetadataFeed": { "description": "MetadataFeed contains information related to the metadata feed.", "id": "GoogleCloudDataplexV1MetadataFeed", diff --git a/discovery/dataproc-v1.json b/discovery/dataproc-v1.json index 01bab3f5912..bce65e78e28 100644 --- a/discovery/dataproc-v1.json +++ b/discovery/dataproc-v1.json @@ -478,7 +478,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequests with the same request_id, the second request is ignored and the operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "location": "query", "type": "string" } @@ -5032,7 +5032,7 @@ } } }, - "revision": "20260122", + "revision": "20260204", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/discovery/datastore-v1.json b/discovery/datastore-v1.json index f1939fd5a3d..3fd8cd562b9 100644 --- a/discovery/datastore-v1.json +++ b/discovery/datastore-v1.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -1101,7 +1121,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/datastore-v1beta1.json b/discovery/datastore-v1beta1.json index cc3d0d5de04..dc78511b38d 100644 --- a/discovery/datastore-v1beta1.json +++ b/discovery/datastore-v1beta1.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -610,7 +630,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "GoogleDatastoreAdminV1CommonMetadata": { diff --git a/discovery/datastore-v1beta3.json b/discovery/datastore-v1beta3.json index e0a763cba6a..7a7cb841bfd 100644 --- a/discovery/datastore-v1beta3.json +++ b/discovery/datastore-v1beta3.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -778,7 +798,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/datastream-v1.json b/discovery/datastream-v1.json index 29a8a720bdf..68e964112d4 100644 --- a/discovery/datastream-v1.json +++ b/discovery/datastream-v1.json @@ -171,7 +171,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "datastream.projects.locations.list", @@ -1266,7 +1266,7 @@ } } }, - "revision": "20260114", + "revision": "20260204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1388,6 +1388,20 @@ "properties": {}, "type": "object" }, + "BadRequest": { + "description": "Describes violations in a client request. This error type focuses on the syntactic aspects of the request.", + "id": "BadRequest", + "properties": { + "fieldViolations": { + "description": "Describes all violations in a client request.", + "items": { + "$ref": "FieldViolation" + }, + "type": "array" + } + }, + "type": "object" + }, "BasicEncryption": { "description": "Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default.", "id": "BasicEncryption", @@ -1685,6 +1699,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "DestinationConfig": { "description": "The configuration of the stream destination.", "id": "DestinationConfig", @@ -1855,6 +1887,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "EventFilter": { "description": "Represents a filter for included data on a stream object.", "id": "EventFilter", @@ -1884,6 +1938,29 @@ }, "type": "object" }, + "FieldViolation": { + "description": "A message type used to describe a single bad request field.", + "id": "FieldViolation", + "properties": { + "description": { + "description": "A description of why the request element is bad.", + "type": "string" + }, + "field": { + "description": "A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string email = 1; repeated EmailType type = 2; } string full_name = 1; repeated EmailAddress email_addresses = 2; } In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message.", + "type": "string" + }, + "localizedMessage": { + "$ref": "LocalizedMessage", + "description": "Provides a localized error message for field-level errors that is safe to return to the API consumer." + }, + "reason": { + "description": "The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "ForwardSshTunnelConnectivity": { "description": "Forward SSH Tunnel connectivity.", "id": "ForwardSshTunnelConnectivity", @@ -1962,6 +2039,20 @@ "properties": {}, "type": "object" }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "Link" + }, + "type": "array" + } + }, + "type": "object" + }, "HostAddress": { "description": "A HostAddress represents a transport end point, which is the combination of an IP address or hostname and a port number.", "id": "HostAddress", @@ -2064,6 +2155,21 @@ }, "type": "object" }, + "Link": { + "description": "Describes a URL link.", + "id": "Link", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" + } + }, + "type": "object" + }, "ListConnectionProfilesResponse": { "description": "Response message for listing connection profiles.", "id": "ListConnectionProfilesResponse", @@ -2225,6 +2331,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -3338,6 +3459,39 @@ }, "type": "object" }, + "PreconditionFailure": { + "description": "Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message.", + "id": "PreconditionFailure", + "properties": { + "violations": { + "description": "Describes all precondition violations.", + "items": { + "$ref": "PreconditionFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreconditionFailureViolation": { + "description": "A message type used to describe a single precondition failure.", + "id": "PreconditionFailureViolation", + "properties": { + "description": { + "description": "A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: \"Terms of service not accepted\".", + "type": "string" + }, + "subject": { + "description": "The subject, relative to the type, that failed. For example, \"google.com/cloud\" relative to the \"TOS\" type would indicate which terms of service is being referenced.", + "type": "string" + }, + "type": { + "description": "The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, \"TOS\" for \"Terms of Service violation\".", + "type": "string" + } + }, + "type": "object" + }, "PrivateConnection": { "description": "The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network.", "id": "PrivateConnection", @@ -3439,6 +3593,114 @@ }, "type": "object" }, + "QuotaFailure": { + "description": "Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure.", + "id": "QuotaFailure", + "properties": { + "violations": { + "description": "Describes all quota violations.", + "items": { + "$ref": "QuotaFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "QuotaFailureViolation": { + "description": "A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.", + "id": "QuotaFailureViolation", + "properties": { + "apiService": { + "description": "The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be \"container.googleapis.com\". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be \"compute.googleapis.com\".", + "type": "string" + }, + "description": { + "description": "A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: \"Service disabled\" or \"Daily Limit for read operations exceeded\".", + "type": "string" + }, + "futureQuotaValue": { + "description": "The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.", + "format": "int64", + "type": "string" + }, + "quotaDimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota \"CPUs per region per VM family\" enforces a limit on the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions \"region\" and \"vm_family\". And if the violation occurred in region \"us-central1\" and for VM family \"n1\", the quota_dimensions would be, { \"region\": \"us-central1\", \"vm_family\": \"n1\", } When a quota is enforced globally, the quota_dimensions would always be empty.", + "type": "object" + }, + "quotaId": { + "description": "The id of the violated quota. Also know as \"limit name\", this is the unique identifier of a quota in the context of an API service. For example, \"CPUS-PER-VM-FAMILY-per-project-region\".", + "type": "string" + }, + "quotaMetric": { + "description": "The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, \"compute.googleapis.com/cpus_per_vm_family\", \"storage.googleapis.com/internet_egress_bandwidth\".", + "type": "string" + }, + "quotaValue": { + "description": "The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is \"10\", then the value of this field would reflect this quantity.", + "format": "int64", + "type": "string" + }, + "subject": { + "description": "The subject on which the quota check failed. For example, \"clientip:\" or \"project:\".", + "type": "string" + } + }, + "type": "object" + }, + "RequestInfo": { + "description": "Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback.", + "id": "RequestInfo", + "properties": { + "requestId": { + "description": "An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs.", + "type": "string" + }, + "servingData": { + "description": "Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceInfo": { + "description": "Describes the resource that is being accessed.", + "id": "ResourceInfo", + "properties": { + "description": { + "description": "Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project.", + "type": "string" + }, + "owner": { + "description": "The owner of the resource (optional). For example, \"user:\" or \"project:\".", + "type": "string" + }, + "resourceName": { + "description": "The name of the resource being accessed. For example, a shared calendar name: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current error is google.rpc.Code.PERMISSION_DENIED.", + "type": "string" + }, + "resourceType": { + "description": "A name for the type of resource being accessed, e.g. \"sql table\", \"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL of the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".", + "type": "string" + } + }, + "type": "object" + }, + "RetryInfo": { + "description": "Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached.", + "id": "RetryInfo", + "properties": { + "retryDelay": { + "description": "Clients should wait at least this long between retrying the same request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Route": { "description": "The route resource is the child of the private connection resource, used for defining a route for a private connection.", "id": "Route", diff --git a/discovery/datastream-v1alpha1.json b/discovery/datastream-v1alpha1.json index 9d6993714fd..a3e846c3f0f 100644 --- a/discovery/datastream-v1alpha1.json +++ b/discovery/datastream-v1alpha1.json @@ -1235,7 +1235,7 @@ } } }, - "revision": "20260128", + "revision": "20260204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AvroFileFormat": { @@ -1330,6 +1330,20 @@ "properties": {}, "type": "object" }, + "BadRequest": { + "description": "Describes violations in a client request. This error type focuses on the syntactic aspects of the request.", + "id": "BadRequest", + "properties": { + "fieldViolations": { + "description": "Describes all violations in a client request.", + "items": { + "$ref": "FieldViolation" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1398,6 +1412,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "DestinationConfig": { "description": "The configuration of the stream destination.", "id": "DestinationConfig", @@ -1502,6 +1534,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "FetchErrorsRequest": { "description": "Request message for 'FetchErrors' request.", "id": "FetchErrorsRequest", @@ -1540,6 +1594,29 @@ }, "type": "object" }, + "FieldViolation": { + "description": "A message type used to describe a single bad request field.", + "id": "FieldViolation", + "properties": { + "description": { + "description": "A description of why the request element is bad.", + "type": "string" + }, + "field": { + "description": "A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string email = 1; repeated EmailType type = 2; } string full_name = 1; repeated EmailAddress email_addresses = 2; } In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message.", + "type": "string" + }, + "localizedMessage": { + "$ref": "LocalizedMessage", + "description": "Provides a localized error message for field-level errors that is safe to return to the API consumer." + }, + "reason": { + "description": "The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "ForwardSshTunnelConnectivity": { "description": "Forward SSH Tunnel connectivity.", "id": "ForwardSshTunnelConnectivity", @@ -1625,6 +1702,20 @@ }, "type": "object" }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "Link" + }, + "type": "array" + } + }, + "type": "object" + }, "JsonFileFormat": { "description": "JSON file format configuration.", "id": "JsonFileFormat", @@ -1660,6 +1751,21 @@ }, "type": "object" }, + "Link": { + "description": "Describes a URL link.", + "id": "Link", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" + } + }, + "type": "object" + }, "ListConnectionProfilesResponse": { "id": "ListConnectionProfilesResponse", "properties": { @@ -1818,6 +1924,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -2287,6 +2408,39 @@ }, "type": "object" }, + "PreconditionFailure": { + "description": "Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message.", + "id": "PreconditionFailure", + "properties": { + "violations": { + "description": "Describes all precondition violations.", + "items": { + "$ref": "PreconditionFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreconditionFailureViolation": { + "description": "A message type used to describe a single precondition failure.", + "id": "PreconditionFailureViolation", + "properties": { + "description": { + "description": "A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: \"Terms of service not accepted\".", + "type": "string" + }, + "subject": { + "description": "The subject, relative to the type, that failed. For example, \"google.com/cloud\" relative to the \"TOS\" type would indicate which terms of service is being referenced.", + "type": "string" + }, + "type": { + "description": "The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, \"TOS\" for \"Terms of Service violation\".", + "type": "string" + } + }, + "type": "object" + }, "PrivateConnection": { "description": "The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network.", "id": "PrivateConnection", @@ -2362,6 +2516,114 @@ }, "type": "object" }, + "QuotaFailure": { + "description": "Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure.", + "id": "QuotaFailure", + "properties": { + "violations": { + "description": "Describes all quota violations.", + "items": { + "$ref": "QuotaFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "QuotaFailureViolation": { + "description": "A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.", + "id": "QuotaFailureViolation", + "properties": { + "apiService": { + "description": "The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be \"container.googleapis.com\". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be \"compute.googleapis.com\".", + "type": "string" + }, + "description": { + "description": "A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: \"Service disabled\" or \"Daily Limit for read operations exceeded\".", + "type": "string" + }, + "futureQuotaValue": { + "description": "The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.", + "format": "int64", + "type": "string" + }, + "quotaDimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota \"CPUs per region per VM family\" enforces a limit on the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions \"region\" and \"vm_family\". And if the violation occurred in region \"us-central1\" and for VM family \"n1\", the quota_dimensions would be, { \"region\": \"us-central1\", \"vm_family\": \"n1\", } When a quota is enforced globally, the quota_dimensions would always be empty.", + "type": "object" + }, + "quotaId": { + "description": "The id of the violated quota. Also know as \"limit name\", this is the unique identifier of a quota in the context of an API service. For example, \"CPUS-PER-VM-FAMILY-per-project-region\".", + "type": "string" + }, + "quotaMetric": { + "description": "The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, \"compute.googleapis.com/cpus_per_vm_family\", \"storage.googleapis.com/internet_egress_bandwidth\".", + "type": "string" + }, + "quotaValue": { + "description": "The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is \"10\", then the value of this field would reflect this quantity.", + "format": "int64", + "type": "string" + }, + "subject": { + "description": "The subject on which the quota check failed. For example, \"clientip:\" or \"project:\".", + "type": "string" + } + }, + "type": "object" + }, + "RequestInfo": { + "description": "Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback.", + "id": "RequestInfo", + "properties": { + "requestId": { + "description": "An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs.", + "type": "string" + }, + "servingData": { + "description": "Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceInfo": { + "description": "Describes the resource that is being accessed.", + "id": "ResourceInfo", + "properties": { + "description": { + "description": "Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project.", + "type": "string" + }, + "owner": { + "description": "The owner of the resource (optional). For example, \"user:\" or \"project:\".", + "type": "string" + }, + "resourceName": { + "description": "The name of the resource being accessed. For example, a shared calendar name: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current error is google.rpc.Code.PERMISSION_DENIED.", + "type": "string" + }, + "resourceType": { + "description": "A name for the type of resource being accessed, e.g. \"sql table\", \"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL of the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".", + "type": "string" + } + }, + "type": "object" + }, + "RetryInfo": { + "description": "Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached.", + "id": "RetryInfo", + "properties": { + "retryDelay": { + "description": "Clients should wait at least this long between retrying the same request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Route": { "description": "The Route resource is the child of the PrivateConnection resource. It used to define a route for a PrivateConnection setup.", "id": "Route", diff --git a/discovery/developerconnect-v1.json b/discovery/developerconnect-v1.json index ca35ec4714d..dc52ce7839d 100644 --- a/discovery/developerconnect-v1.json +++ b/discovery/developerconnect-v1.json @@ -1754,7 +1754,7 @@ } } }, - "revision": "20260123", + "revision": "20260203", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "AccountConnector": { @@ -3266,27 +3266,16 @@ "DATASTAX", "DYNATRACE" ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - true, - true, - true, - true - ], "enumDescriptions": [ "No system provider specified.", "GitHub provider. Scopes can be found at https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes", "GitLab provider. Scopes can be found at https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes", - "Deprecated: This provider is no longer supported. Google provider. Recommended scopes: \"https://www.googleapis.com/auth/drive.readonly\", \"https://www.googleapis.com/auth/documents.readonly\"", - "Deprecated: This provider is no longer supported. Sentry provider. Scopes can be found at https://docs.sentry.io/api/permissions/", - "Deprecated: This provider is no longer supported. Rovo provider. Must select the \"rovo\" scope.", - "Deprecated: This provider is no longer supported. New Relic provider. No scopes are allowed.", - "Deprecated: This provider is no longer supported. Datastax provider. No scopes are allowed.", - "Deprecated: This provider is no longer supported. Dynatrace provider." + "Google provider. Recommended scopes: \"https://www.googleapis.com/auth/drive.readonly\", \"https://www.googleapis.com/auth/documents.readonly\"", + "Sentry provider. Scopes can be found at https://docs.sentry.io/api/permissions/", + "Rovo provider. Must select the \"rovo\" scope.", + "New Relic provider. No scopes are allowed.", + "Datastax provider. No scopes are allowed.", + "Dynatrace provider." ], "type": "string" } @@ -3401,27 +3390,16 @@ "DATASTAX", "DYNATRACE" ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - true, - true, - true, - true - ], "enumDescriptions": [ "No system provider specified.", "GitHub provider. Scopes can be found at https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes", "GitLab provider. Scopes can be found at https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes", - "Deprecated: This provider is no longer supported. Google provider. Recommended scopes: \"https://www.googleapis.com/auth/drive.readonly\", \"https://www.googleapis.com/auth/documents.readonly\"", - "Deprecated: This provider is no longer supported. Sentry provider. Scopes can be found at https://docs.sentry.io/api/permissions/", - "Deprecated: This provider is no longer supported. Rovo provider. Must select the \"rovo\" scope.", - "Deprecated: This provider is no longer supported. New Relic provider. No scopes are allowed.", - "Deprecated: This provider is no longer supported. Datastax provider. No scopes are allowed.", - "Deprecated: This provider is no longer supported. Dynatrace provider." + "Google provider. Recommended scopes: \"https://www.googleapis.com/auth/drive.readonly\", \"https://www.googleapis.com/auth/documents.readonly\"", + "Sentry provider. Scopes can be found at https://docs.sentry.io/api/permissions/", + "Rovo provider. Must select the \"rovo\" scope.", + "New Relic provider. No scopes are allowed.", + "Datastax provider. No scopes are allowed.", + "Dynatrace provider." ], "type": "string" }, diff --git a/discovery/dfareporting-v4.json b/discovery/dfareporting-v4.json index ae8c9f8b471..563e3477180 100644 --- a/discovery/dfareporting-v4.json +++ b/discovery/dfareporting-v4.json @@ -4677,7 +4677,7 @@ ] }, "retransform": { - "description": "Retransforms a dynamic feed.", + "description": "Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published).", "flatPath": "studio/dynamicFeeds/{dynamicFeedsId}/retransform", "httpMethod": "POST", "id": "dfareporting.dynamicFeeds.retransform", @@ -4703,7 +4703,7 @@ ] }, "update": { - "description": "Updates a new dynamic feed.", + "description": "Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored.", "flatPath": "studio/dynamicFeeds", "httpMethod": "PUT", "id": "dfareporting.dynamicFeeds.update", @@ -4725,7 +4725,7 @@ "dynamicProfiles": { "methods": { "generateCode": { - "description": "Generates code for a dynamic profile.", + "description": "Generates code for a dynamic profile, which will need unescaping.", "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}/generateCode", "httpMethod": "GET", "id": "dfareporting.dynamicProfiles.generateCode", @@ -10465,7 +10465,7 @@ } } }, - "revision": "20251023", + "revision": "20260213", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -12090,7 +12090,7 @@ "type": "object" }, "CartData": { - "description": " *Beta:* This feature is currently in beta. Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)", + "description": "Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)", "id": "CartData", "properties": { "items": { @@ -15734,7 +15734,7 @@ "type": "object" }, "DynamicFeed": { - "description": "Contains dynamic feed information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information.", "id": "DynamicFeed", "properties": { "contentSource": { @@ -15805,7 +15805,7 @@ "type": "object" }, "DynamicFeedsInsertRequest": { - "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See", + "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id.", "id": "DynamicFeedsInsertRequest", "properties": { "dynamicFeed": { @@ -15821,7 +15821,7 @@ "type": "object" }, "DynamicProfile": { - "description": "Contains dynamic profile information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic profile information.", "id": "DynamicProfile", "properties": { "active": { @@ -15925,7 +15925,7 @@ "id": "DynamicProfileGenerateCodeResponse", "properties": { "code": { - "description": "Generated code for the dynamic profile.", + "description": "Generated code for the dynamic profile. The code will need to be unescaped.", "type": "string" } }, @@ -21633,7 +21633,7 @@ "type": "object" }, "StudioCreative": { - "description": "Contains studio creative information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative information.", "id": "StudioCreative", "properties": { "assetIds": { @@ -21645,7 +21645,7 @@ "type": "array" }, "backupImageAssetId": { - "description": "Backup image asset ID of this studio creative.", + "description": "Backup image asset ID of this studio creative. It is a required field on insertion.", "format": "int64", "type": "string" }, @@ -21734,7 +21734,7 @@ "type": "object" }, "StudioCreativeAsset": { - "description": "Contains studio creative asset information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative asset information.", "id": "StudioCreativeAsset", "properties": { "createInfo": { diff --git a/discovery/dfareporting-v5.json b/discovery/dfareporting-v5.json index e3fbdf884b5..6c12b07e539 100644 --- a/discovery/dfareporting-v5.json +++ b/discovery/dfareporting-v5.json @@ -4677,7 +4677,7 @@ ] }, "retransform": { - "description": "Retransforms a dynamic feed.", + "description": "Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published).", "flatPath": "studio/dynamicFeeds/{dynamicFeedsId}/retransform", "httpMethod": "POST", "id": "dfareporting.dynamicFeeds.retransform", @@ -4703,7 +4703,7 @@ ] }, "update": { - "description": "Updates a new dynamic feed.", + "description": "Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored.", "flatPath": "studio/dynamicFeeds", "httpMethod": "PUT", "id": "dfareporting.dynamicFeeds.update", @@ -4725,7 +4725,7 @@ "dynamicProfiles": { "methods": { "generateCode": { - "description": "Generates code for a dynamic profile.", + "description": "Generates code for a dynamic profile, which will need unescaping.", "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}/generateCode", "httpMethod": "GET", "id": "dfareporting.dynamicProfiles.generateCode", @@ -9432,6 +9432,12 @@ "location": "query", "type": "string" }, + "countryDartId": { + "description": "Optional. Country Dart ID. If not specified, defaults to 256 (US).", + "format": "int64", + "location": "query", + "type": "string" + }, "id": { "description": "Required. TV Campaign ID.", "location": "path", @@ -9446,6 +9452,33 @@ "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "tvDataProvider": { + "description": "Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`.", + "enum": [ + "INVALID_TV_DATA_PROVIDER", + "IBOPE_AR", + "IBOPE_BR", + "IBOPE_CL", + "IBOPE_CO", + "TNS_VN", + "COMSCORE_NATIONAL_US", + "COMSCORE_CA", + "SAMBA_AU" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "type": "string" } }, "path": "userprofiles/{+profileId}/tvCampaignDetails/{+id}", @@ -9475,6 +9508,12 @@ "location": "query", "type": "string" }, + "countryDartId": { + "description": "Optional. Country Dart ID. If not specified, defaults to 256 (US).", + "format": "int64", + "location": "query", + "type": "string" + }, "name": { "description": "Required. Search string to filter the list of TV campaign summaries. Matches any substring. Required field.", "location": "query", @@ -9487,6 +9526,33 @@ "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "tvDataProvider": { + "description": "Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`.", + "enum": [ + "INVALID_TV_DATA_PROVIDER", + "IBOPE_AR", + "IBOPE_BR", + "IBOPE_CL", + "IBOPE_CO", + "TNS_VN", + "COMSCORE_NATIONAL_US", + "COMSCORE_CA", + "SAMBA_AU" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query", + "type": "string" } }, "path": "userprofiles/{+profileId}/tvCampaignSummaries", @@ -10005,7 +10071,7 @@ } } }, - "revision": "20251023", + "revision": "20260213", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -11564,7 +11630,7 @@ "type": "object" }, "CartData": { - "description": " *Beta:* This feature is currently in beta. Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)", + "description": "Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)", "id": "CartData", "properties": { "items": { @@ -12391,6 +12457,36 @@ "sslEnabled": { "description": "Whether ad serving supports secure servers in this country.", "type": "boolean" + }, + "tvDataProviders": { + "description": "Output only. The TV data providers supported in this country.", + "items": { + "enum": [ + "INVALID_TV_DATA_PROVIDER", + "IBOPE_AR", + "IBOPE_BR", + "IBOPE_CL", + "IBOPE_CO", + "TNS_VN", + "COMSCORE_NATIONAL_US", + "COMSCORE_CA", + "SAMBA_AU" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -15181,7 +15277,7 @@ "type": "object" }, "DynamicFeed": { - "description": "Contains dynamic feed information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information.", "id": "DynamicFeed", "properties": { "contentSource": { @@ -15252,7 +15348,7 @@ "type": "object" }, "DynamicFeedsInsertRequest": { - "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See", + "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id.", "id": "DynamicFeedsInsertRequest", "properties": { "dynamicFeed": { @@ -15268,7 +15364,7 @@ "type": "object" }, "DynamicProfile": { - "description": "Contains dynamic profile information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic profile information.", "id": "DynamicProfile", "properties": { "active": { @@ -15372,7 +15468,7 @@ "id": "DynamicProfileGenerateCodeResponse", "properties": { "code": { - "description": "Generated code for the dynamic profile.", + "description": "Generated code for the dynamic profile. The code will need to be unescaped.", "type": "string" } }, @@ -20504,7 +20600,7 @@ "type": "object" }, "StudioCreative": { - "description": "Contains studio creative information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative information.", "id": "StudioCreative", "properties": { "assetIds": { @@ -20516,7 +20612,7 @@ "type": "array" }, "backupImageAssetId": { - "description": "Backup image asset ID of this studio creative.", + "description": "Backup image asset ID of this studio creative. It is a required field on insertion.", "format": "int64", "type": "string" }, @@ -20605,7 +20701,7 @@ "type": "object" }, "StudioCreativeAsset": { - "description": "Contains studio creative asset information.", + "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative asset information.", "id": "StudioCreativeAsset", "properties": { "createInfo": { diff --git a/discovery/dialogflow-v2beta1.json b/discovery/dialogflow-v2beta1.json index 5c1f7375890..d6144950304 100644 --- a/discovery/dialogflow-v2beta1.json +++ b/discovery/dialogflow-v2beta1.json @@ -8431,7 +8431,7 @@ } } }, - "revision": "20260119", + "revision": "20260216", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -16463,6 +16463,9 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "useBidiStreaming": { + "type": "boolean" } }, "type": "object" diff --git a/discovery/discoveryengine-v1.json b/discovery/discoveryengine-v1.json index 92080bfe3ea..91246d4ed8b 100644 --- a/discovery/discoveryengine-v1.json +++ b/discovery/discoveryengine-v1.json @@ -3599,7 +3599,7 @@ "engines": { "methods": { "create": { - "description": "Creates a Engine.", + "description": "Creates an Engine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.create", @@ -3633,7 +3633,7 @@ ] }, "delete": { - "description": "Deletes a Engine.", + "description": "Deletes an Engine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "DELETE", "id": "discoveryengine.projects.locations.collections.engines.delete", @@ -3659,7 +3659,7 @@ ] }, "get": { - "description": "Gets a Engine.", + "description": "Gets an Engine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "GET", "id": "discoveryengine.projects.locations.collections.engines.get", @@ -3684,6 +3684,38 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "list": { "description": "Lists all the Engines associated with the project.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", @@ -3760,6 +3792,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/discoveryengine.readwrite" ] + }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] } }, "resources": { @@ -3961,7 +4022,94 @@ }, "resources": { "agents": { + "methods": { + "getCard": { + "description": "GetAgentCard returns the agent card for the agent.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/card", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.getCard", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/card", + "response": { + "$ref": "A2aV1AgentCard" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { + "message": { + "methods": { + "send": { + "description": "Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/message:send", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.message.send", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/message:send", + "request": { + "$ref": "A2aV1SendMessageRequest" + }, + "response": { + "$ref": "A2aV1SendMessageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stream": { + "description": "SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/message:stream", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/message:stream", + "request": { + "$ref": "A2aV1SendMessageRequest" + }, + "response": { + "$ref": "A2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "get": { @@ -3991,6 +4139,275 @@ ] } } + }, + "tasks": { + "methods": { + "cancel": { + "description": "Cancel a task from the agent. If supported one should expect no more task updates for the task.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}:cancel", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.cancel", + "parameterOrder": [ + "tenant", + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to cancel. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+name}:cancel", + "request": { + "$ref": "A2aV1CancelTaskRequest" + }, + "response": { + "$ref": "A2aV1Task" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get the current state of a task from the agent.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.get", + "parameterOrder": [ + "tenant", + "name" + ], + "parameters": { + "historyLength": { + "description": "The number of most recent messages from the task's history to retrieve.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Required. The resource name of the task. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+name}", + "response": { + "$ref": "A2aV1Task" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "subscribe": { + "description": "TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}:subscribe", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.subscribe", + "parameterOrder": [ + "tenant", + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to subscribe to. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+name}:subscribe", + "response": { + "$ref": "A2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "pushNotificationConfigs": { + "methods": { + "create": { + "description": "Set a push notification config for a task.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.create", + "parameterOrder": [ + "tenant", + "parent" + ], + "parameters": { + "configId": { + "description": "Required. The ID for the new config.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent task resource for this config. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+parent}", + "request": { + "$ref": "A2aV1TaskPushNotificationConfig" + }, + "response": { + "$ref": "A2aV1TaskPushNotificationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a push notification config for a task.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.delete", + "parameterOrder": [ + "tenant", + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to delete. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a push notification config for a task.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.get", + "parameterOrder": [ + "tenant", + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to retrieve. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+name}", + "response": { + "$ref": "A2aV1TaskPushNotificationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Get a list of push notifications configured for a task.", + "flatPath": "projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.list", + "parameterOrder": [ + "tenant", + "parent" + ], + "parameters": { + "pageSize": { + "description": "For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent task resource. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+tenant}/{+parent}/pushNotificationConfigs", + "response": { + "$ref": "A2aV1ListTaskPushNotificationConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } @@ -8798,12 +9215,964 @@ } } } - } - } - }, - "revision": "20260130", - "rootUrl": "https://discoveryengine.googleapis.com/", - "schemas": { + } + } + }, + "revision": "20260215", + "rootUrl": "https://discoveryengine.googleapis.com/", + "schemas": { + "A2aV1APIKeySecurityScheme": { + "id": "A2aV1APIKeySecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "location": { + "description": "Location of the API key, valid values are \"query\", \"header\", or \"cookie\"", + "type": "string" + }, + "name": { + "description": "Name of the header, query or cookie parameter to be used.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentCapabilities": { + "description": "Defines the A2A feature set supported by the agent", + "id": "A2aV1AgentCapabilities", + "properties": { + "extensions": { + "description": "Extensions supported by this agent.", + "items": { + "$ref": "A2aV1AgentExtension" + }, + "type": "array" + }, + "pushNotifications": { + "description": "If the agent can send push notifications to the clients webhook", + "type": "boolean" + }, + "streaming": { + "description": "If the agent will support streaming responses", + "type": "boolean" + } + }, + "type": "object" + }, + "A2aV1AgentCard": { + "description": "AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19", + "id": "A2aV1AgentCard", + "properties": { + "additionalInterfaces": { + "description": "Announcement of additional supported transports. Client can use any of the supported transports.", + "items": { + "$ref": "A2aV1AgentInterface" + }, + "type": "array" + }, + "capabilities": { + "$ref": "A2aV1AgentCapabilities", + "description": "A2A Capability set supported by the agent." + }, + "defaultInputModes": { + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "defaultOutputModes": { + "description": "The mime types supported as outputs from this agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "A description of the agent's domain of action/solution space. Example: \"Agent that helps users with recipes and cooking.\"", + "type": "string" + }, + "documentationUrl": { + "description": "A url to provide additional documentation about the agent.", + "type": "string" + }, + "iconUrl": { + "description": "An optional URL to an icon for the agent.", + "type": "string" + }, + "name": { + "description": "A human readable name for the agent. Example: \"Recipe Agent\"", + "type": "string" + }, + "preferredTransport": { + "description": "The transport of the preferred endpoint. If empty, defaults to JSONRPC.", + "type": "string" + }, + "protocolVersion": { + "description": "The version of the A2A protocol this agent supports.", + "type": "string" + }, + "provider": { + "$ref": "A2aV1AgentProvider", + "description": "The service provider of the agent." + }, + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, \"callers must either use OAuth OR an API Key AND mTLS.\" Example: security { schemes { key: \"oauth\" value { list: [\"read\"] } } } security { schemes { key: \"api-key\" } schemes { key: \"mtls\" } }", + "items": { + "$ref": "A2aV1Security" + }, + "type": "array" + }, + "securitySchemes": { + "additionalProperties": { + "$ref": "A2aV1SecurityScheme" + }, + "description": "The security scheme details used for authenticating with this agent.", + "type": "object" + }, + "signatures": { + "description": "JSON Web Signatures computed for this AgentCard.", + "items": { + "$ref": "A2aV1AgentCardSignature" + }, + "type": "array" + }, + "skills": { + "description": "Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at.", + "items": { + "$ref": "A2aV1AgentSkill" + }, + "type": "array" + }, + "supportsAuthenticatedExtendedCard": { + "description": "Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard.", + "type": "boolean" + }, + "url": { + "description": "A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent.", + "type": "string" + }, + "version": { + "description": "The version of the agent. Example: \"1.0.0\"", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentCardSignature": { + "description": "AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).", + "id": "A2aV1AgentCardSignature", + "properties": { + "header": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The unprotected JWS header values.", + "type": "object" + }, + "protected": { + "description": "Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required.", + "type": "string" + }, + "signature": { + "description": "Required. The computed signature, base64url-encoded. Required.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentExtension": { + "description": "A declaration of an extension supported by an Agent.", + "id": "A2aV1AgentExtension", + "properties": { + "description": { + "description": "A description of how this agent uses this extension. Example: \"Google OAuth 2.0 authentication\"", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional configuration for the extension.", + "type": "object" + }, + "required": { + "description": "Whether the client must follow specific requirements of the extension. Example: false", + "type": "boolean" + }, + "uri": { + "description": "The URI of the extension. Example: \"https://developers.google.com/identity/protocols/oauth2\"", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentInterface": { + "description": "Defines additional transport information for the agent.", + "id": "A2aV1AgentInterface", + "properties": { + "tenant": { + "description": "Tenant to be set in the request when calling the agent. Experimental, might still change for 1.0 release.", + "type": "string" + }, + "transport": { + "description": "The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON.", + "type": "string" + }, + "url": { + "description": "The url this interface is found at.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentProvider": { + "description": "Represents information about the service provider of an agent.", + "id": "A2aV1AgentProvider", + "properties": { + "organization": { + "description": "The providers organization name Example: \"Google\"", + "type": "string" + }, + "url": { + "description": "The providers reference url Example: \"https://ai.google.dev\"", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1AgentSkill": { + "description": "AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed.", + "id": "A2aV1AgentSkill", + "properties": { + "description": { + "description": "A human (or llm) readable description of the skill details and behaviors.", + "type": "string" + }, + "examples": { + "description": "A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: [\"I need a recipe for bread\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier of the skill within this agent.", + "type": "string" + }, + "inputModes": { + "description": "Possible input modalities supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "A human readable name for the skill.", + "type": "string" + }, + "outputModes": { + "description": "Possible output modalities produced", + "items": { + "type": "string" + }, + "type": "array" + }, + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED", + "items": { + "$ref": "A2aV1Security" + }, + "type": "array" + }, + "tags": { + "description": "A set of tags for the skill to enhance categorization/utilization. Example: [\"cooking\", \"customer support\", \"billing\"]", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "A2aV1Artifact": { + "description": "Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.", + "id": "A2aV1Artifact", + "properties": { + "artifactId": { + "description": "Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.", + "type": "string" + }, + "description": { + "description": "A human readable description of the artifact, optional.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Artifact.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata included with the artifact.", + "type": "object" + }, + "name": { + "description": "A human readable name for the artifact.", + "type": "string" + }, + "parts": { + "description": "The content of the artifact.", + "items": { + "$ref": "A2aV1Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "A2aV1AuthenticationInfo": { + "description": "Defines authentication details, used for push notifications.", + "id": "A2aV1AuthenticationInfo", + "properties": { + "credentials": { + "description": "Optional credentials", + "type": "string" + }, + "schemes": { + "description": "Supported authentication schemes - e.g. Basic, Bearer, etc", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "A2aV1AuthorizationCodeOAuthFlow": { + "id": "A2aV1AuthorizationCodeOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1CancelTaskRequest": { + "id": "A2aV1CancelTaskRequest", + "properties": {}, + "type": "object" + }, + "A2aV1ClientCredentialsOAuthFlow": { + "id": "A2aV1ClientCredentialsOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1DataPart": { + "description": "DataPart represents a structured blob. This is most commonly a JSON payload.", + "id": "A2aV1DataPart", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + } + }, + "type": "object" + }, + "A2aV1FilePart": { + "description": "FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.", + "id": "A2aV1FilePart", + "properties": { + "fileWithBytes": { + "format": "byte", + "type": "string" + }, + "fileWithUri": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "A2aV1HTTPAuthSecurityScheme": { + "id": "A2aV1HTTPAuthSecurityScheme", + "properties": { + "bearerFormat": { + "description": "A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.", + "type": "string" + }, + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "scheme": { + "description": "The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1ImplicitOAuthFlow": { + "id": "A2aV1ImplicitOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + } + }, + "type": "object" + }, + "A2aV1ListTaskPushNotificationConfigResponse": { + "id": "A2aV1ListTaskPushNotificationConfigResponse", + "properties": { + "configs": { + "description": "The list of push notification configurations.", + "items": { + "$ref": "A2aV1TaskPushNotificationConfig" + }, + "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" + }, + "A2aV1Message": { + "description": "Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.", + "id": "A2aV1Message", + "properties": { + "content": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.", + "items": { + "$ref": "A2aV1Part" + }, + "type": "array" + }, + "contextId": { + "description": "The context id of the message. This is optional and if set, the message will be associated with the given context.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Message.", + "items": { + "type": "string" + }, + "type": "array" + }, + "messageId": { + "description": "The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.", + "type": "object" + }, + "role": { + "description": "A role for the message.", + "enum": [ + "ROLE_UNSPECIFIED", + "ROLE_USER", + "ROLE_AGENT" + ], + "enumDescriptions": [ + "", + "USER role refers to communication from the client to the server.", + "AGENT role refers to communication from the server to the client." + ], + "type": "string" + }, + "taskId": { + "description": "The task id of the message. This is optional and if set, the message will be associated with the given task.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1MutualTlsSecurityScheme": { + "id": "A2aV1MutualTlsSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1OAuth2SecurityScheme": { + "id": "A2aV1OAuth2SecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "flows": { + "$ref": "A2aV1OAuthFlows", + "description": "An object containing configuration information for the flow types supported" + }, + "oauth2MetadataUrl": { + "description": "URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1OAuthFlows": { + "id": "A2aV1OAuthFlows", + "properties": { + "authorizationCode": { + "$ref": "A2aV1AuthorizationCodeOAuthFlow" + }, + "clientCredentials": { + "$ref": "A2aV1ClientCredentialsOAuthFlow" + }, + "implicit": { + "$ref": "A2aV1ImplicitOAuthFlow" + }, + "password": { + "$ref": "A2aV1PasswordOAuthFlow" + } + }, + "type": "object" + }, + "A2aV1OpenIdConnectSecurityScheme": { + "id": "A2aV1OpenIdConnectSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "openIdConnectUrl": { + "description": "Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1Part": { + "description": "Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).", + "id": "A2aV1Part", + "properties": { + "data": { + "$ref": "A2aV1DataPart" + }, + "file": { + "$ref": "A2aV1FilePart" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with this part.", + "type": "object" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "A2aV1PasswordOAuthFlow": { + "id": "A2aV1PasswordOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1PushNotificationConfig": { + "description": "Configuration for setting up push notifications for task updates.", + "id": "A2aV1PushNotificationConfig", + "properties": { + "authentication": { + "$ref": "A2aV1AuthenticationInfo", + "description": "Information about the authentication to sent with the notification" + }, + "id": { + "description": "A unique identifier (e.g. UUID) for this push notification.", + "type": "string" + }, + "token": { + "description": "Token unique for this task/session", + "type": "string" + }, + "url": { + "description": "Url to send the notification too", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1Security": { + "id": "A2aV1Security", + "properties": { + "schemes": { + "additionalProperties": { + "$ref": "A2aV1StringList" + }, + "type": "object" + } + }, + "type": "object" + }, + "A2aV1SecurityScheme": { + "id": "A2aV1SecurityScheme", + "properties": { + "apiKeySecurityScheme": { + "$ref": "A2aV1APIKeySecurityScheme" + }, + "httpAuthSecurityScheme": { + "$ref": "A2aV1HTTPAuthSecurityScheme" + }, + "mtlsSecurityScheme": { + "$ref": "A2aV1MutualTlsSecurityScheme" + }, + "oauth2SecurityScheme": { + "$ref": "A2aV1OAuth2SecurityScheme" + }, + "openIdConnectSecurityScheme": { + "$ref": "A2aV1OpenIdConnectSecurityScheme" + } + }, + "type": "object" + }, + "A2aV1SendMessageConfiguration": { + "description": "Configuration of a send message request.", + "id": "A2aV1SendMessageConfiguration", + "properties": { + "acceptedOutputModes": { + "description": "The output modes that the agent is expected to respond with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blocking": { + "description": "If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates.", + "type": "boolean" + }, + "historyLength": { + "description": "The maximum number of messages to include in the history. if 0, the history will be unlimited.", + "format": "int32", + "type": "integer" + }, + "pushNotification": { + "$ref": "A2aV1PushNotificationConfig", + "description": "A configuration of a webhook that can be used to receive updates" + } + }, + "type": "object" + }, + "A2aV1SendMessageRequest": { + "description": "/////////// Request Messages ///////////", + "id": "A2aV1SendMessageRequest", + "properties": { + "configuration": { + "$ref": "A2aV1SendMessageConfiguration", + "description": "Configuration for the send request." + }, + "message": { + "$ref": "A2aV1Message", + "description": "Required. The message to send to the agent." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata for the request.", + "type": "object" + } + }, + "type": "object" + }, + "A2aV1SendMessageResponse": { + "description": "////// Response Messages ///////////", + "id": "A2aV1SendMessageResponse", + "properties": { + "message": { + "$ref": "A2aV1Message" + }, + "task": { + "$ref": "A2aV1Task" + } + }, + "type": "object" + }, + "A2aV1StreamResponse": { + "description": "The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are", + "id": "A2aV1StreamResponse", + "properties": { + "artifactUpdate": { + "$ref": "A2aV1TaskArtifactUpdateEvent" + }, + "message": { + "$ref": "A2aV1Message" + }, + "statusUpdate": { + "$ref": "A2aV1TaskStatusUpdateEvent" + }, + "task": { + "$ref": "A2aV1Task" + } + }, + "type": "object" + }, + "A2aV1StringList": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED", + "id": "A2aV1StringList", + "properties": { + "list": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "A2aV1Task": { + "description": "Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.", + "id": "A2aV1Task", + "properties": { + "artifacts": { + "description": "A set of output artifacts for a Task.", + "items": { + "$ref": "A2aV1Artifact" + }, + "type": "array" + }, + "contextId": { + "description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.", + "type": "string" + }, + "history": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.", + "items": { + "$ref": "A2aV1Message" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier (e.g. UUID) for the task, generated by the server for a new task.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.", + "type": "object" + }, + "status": { + "$ref": "A2aV1TaskStatus", + "description": "The current status of a Task, including state and a message." + } + }, + "type": "object" + }, + "A2aV1TaskArtifactUpdateEvent": { + "description": "TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.", + "id": "A2aV1TaskArtifactUpdateEvent", + "properties": { + "append": { + "description": "Whether this should be appended to a prior one produced", + "type": "boolean" + }, + "artifact": { + "$ref": "A2aV1Artifact", + "description": "The artifact itself" + }, + "contextId": { + "description": "The id of the context that this task belongs too", + "type": "string" + }, + "lastChunk": { + "description": "Whether this represents the last part of an artifact", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with the artifact update.", + "type": "object" + }, + "taskId": { + "description": "The id of the task for this artifact", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1TaskPushNotificationConfig": { + "id": "A2aV1TaskPushNotificationConfig", + "properties": { + "name": { + "description": "The resource name of the config. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "type": "string" + }, + "pushNotificationConfig": { + "$ref": "A2aV1PushNotificationConfig", + "description": "The push notification configuration details." + } + }, + "type": "object" + }, + "A2aV1TaskStatus": { + "description": "A container for the status of a task", + "id": "A2aV1TaskStatus", + "properties": { + "message": { + "$ref": "A2aV1Message", + "description": "A message associated with the status." + }, + "state": { + "description": "The current state of this task", + "enum": [ + "TASK_STATE_UNSPECIFIED", + "TASK_STATE_SUBMITTED", + "TASK_STATE_WORKING", + "TASK_STATE_COMPLETED", + "TASK_STATE_FAILED", + "TASK_STATE_CANCELLED", + "TASK_STATE_INPUT_REQUIRED", + "TASK_STATE_REJECTED", + "TASK_STATE_AUTH_REQUIRED" + ], + "enumDescriptions": [ + "", + "Represents the status that acknowledges a task is created", + "Represents the status that a task is actively being processed", + "Represents the status a task is finished. This is a terminal state", + "Represents the status a task is done but failed. This is a terminal state", + "Represents the status a task was cancelled before it finished. This is a terminal state.", + "Represents the status that the task requires information to complete. This is an interrupted state.", + "Represents the status that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.", + "Represents the state that some authentication is needed from the upstream client. Authentication is expected to come out-of-band thus this is not an interrupted or terminal state." + ], + "type": "string" + }, + "timestamp": { + "description": "Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\"", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "A2aV1TaskStatusUpdateEvent": { + "description": "TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.", + "id": "A2aV1TaskStatusUpdateEvent", + "properties": { + "contextId": { + "description": "The id of the context that the task belongs to", + "type": "string" + }, + "final": { + "description": "Whether this is the last status update expected for this task.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata to associate with the task update.", + "type": "object" + }, + "status": { + "$ref": "A2aV1TaskStatus", + "description": "The new status of the task." + }, + "taskId": { + "description": "The id of the task that is changed", + "type": "string" + } + }, + "type": "object" + }, "GoogleApiDistribution": { "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", "id": "GoogleApiDistribution", @@ -12550,14 +13919,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -13180,7 +14551,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -13195,7 +14568,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -13688,14 +15063,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -14388,6 +15765,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -14486,14 +15870,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -14732,6 +16118,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -14740,18 +16127,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -15569,6 +16957,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -15601,13 +16999,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -15618,13 +17020,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -15639,6 +17043,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -15647,18 +17052,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -16185,6 +17591,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -16200,6 +17610,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -18398,14 +19830,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -19607,14 +21041,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -20367,6 +21803,10 @@ "languageCode": { "description": "Optional. The language code used for notifications", "type": "string" + }, + "regionCode": { + "description": "Optional. The region code used of the user that subscribed to the alert policy.", + "type": "string" } }, "type": "object" @@ -22014,14 +23454,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -22417,7 +23859,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -22432,7 +23876,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -22447,6 +23893,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", "type": "string" @@ -22794,6 +24244,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy": { + "description": "Data protection policy config for a connector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection content policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1alphaDataStore", @@ -22934,14 +24406,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -23507,6 +24981,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -23614,14 +25095,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -23916,6 +25399,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -23924,18 +25408,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -24736,6 +26221,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -24768,13 +26263,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -24785,13 +26284,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -24806,6 +26307,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -24814,18 +26316,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -25086,6 +26589,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -25101,6 +26608,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -25382,6 +26911,13 @@ "description": "Defines a user inputed query.", "id": "GoogleCloudDiscoveryengineV1alphaQuery", "properties": { + "parts": { + "description": "Query content parts.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPart" + }, + "type": "array" + }, "queryId": { "description": "Output only. Unique Id for the query.", "readOnly": true, @@ -25394,6 +26930,137 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaQueryPart": { + "description": "Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPart", + "properties": { + "documentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "description": "Other VAIS Document references." + }, + "driveDocumentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "description": "Reference to a Google Drive document." + }, + "mimeType": { + "description": "Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is \"text/plain\" for the \"data\" field.", + "type": "string" + }, + "personReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "description": "Reference to a person." + }, + "text": { + "description": "Text content.", + "type": "string" + }, + "uiJsonPayload": { + "description": "This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference": { + "description": "Represents a document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the reference.", + "type": "string" + }, + "urlForConnector": { + "description": "Input only. The url_for_connector of the document returned by Federated Search.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference": { + "description": "Represents a Google Drive document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "driveId": { + "description": "The Drive id of the document.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the Drive document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the Drive document reference.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference": { + "description": "Represents a person reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the person.", + "type": "string" + }, + "displayName": { + "description": "The display name of the person.", + "type": "string" + }, + "displayPhotoUri": { + "description": "The display photo url of the person.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "email": { + "description": "The email of the person.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the person data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "personId": { + "description": "The person id of the person.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata", @@ -25824,6 +27491,11 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -26329,6 +28001,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -27627,14 +29304,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -28044,14 +29723,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -28481,6 +30162,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -28579,14 +30267,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -28825,6 +30515,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -28833,18 +30524,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -29377,6 +31069,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -29409,13 +31111,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -29426,13 +31132,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -29447,6 +31155,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -29455,18 +31164,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -29654,6 +31364,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -29669,6 +31383,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -30034,6 +31770,11 @@ "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -30535,6 +32276,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -31369,6 +33115,63 @@ }, "type": "object" }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + } + }, + "type": "object" + }, "GoogleLongrunningCancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "GoogleLongrunningCancelOperationRequest", @@ -31674,6 +33477,29 @@ }, "type": "object" }, + "GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "GoogleTypeExpr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, "GoogleTypeTimeZone": { "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", "id": "GoogleTypeTimeZone", diff --git a/discovery/discoveryengine-v1alpha.json b/discovery/discoveryengine-v1alpha.json index ab6d5154fe6..1cd4ecc21bb 100644 --- a/discovery/discoveryengine-v1alpha.json +++ b/discovery/discoveryengine-v1alpha.json @@ -395,6 +395,64 @@ "resources": { "locations": { "methods": { + "completeExternalIdentities": { + "description": "This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:completeExternalIdentities", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.completeExternalIdentities", + "parameterOrder": [ + "parent" + ], + "parameters": { + "entityTypeFilter": { + "description": "Optional. The type of entities to fetch. If not set, all entity types will be returned.", + "enum": [ + "ENTITY_TYPE_FILTER_UNSPECIFIED", + "USERS", + "GROUPS" + ], + "enumDescriptions": [ + "Unspecified entity type filter.", + "Fetch only users.", + "Fetch only groups." + ], + "location": "query", + "type": "string" + }, + "maxSuggestions": { + "description": "Optional. The maximum number of user and group results to return. The service may return fewer than this value. If unspecified, at most 6 results will be returned. The limit is distributed as evenly as possible across users and groups. For example, if max_suggestions is 7, the service may return 4 users and 3 groups. If there are fewer suggestions of one type than half the limit, the other type may return more suggestions up to the max_suggestions limit.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "parent": { + "description": "Required. The parent location resource name, such as `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "prefixQuery": { + "description": "Required. The prefix to search for. For users, this prefix is matched against the `primary_email`. For groups, this prefix is matched against the `display_name`. The matching is case-insensitive.", + "location": "query", + "type": "string" + }, + "useScimIdentities": { + "description": "Optional. Whether to use scim identities for external identity completion. If false, we will call the Microsoft graph API to fetch the external identities.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+parent}:completeExternalIdentities", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCompleteExternalIdentitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "estimateDataSize": { "description": "Estimates the data size to be used by a customer.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:estimateDataSize", @@ -1360,7 +1418,7 @@ ], "parameters": { "parent": { - "description": "Required. Connector name of the form projects/{project}/locations/{location}/collections/ {collection_id}/dataConnector", + "description": "Required. Connector name of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataConnector`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", "required": true, @@ -4900,7 +4958,7 @@ "engines": { "methods": { "create": { - "description": "Creates a Engine.", + "description": "Creates an Engine.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.create", @@ -4934,7 +4992,7 @@ ] }, "delete": { - "description": "Deletes a Engine.", + "description": "Deletes an Engine.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "DELETE", "id": "discoveryengine.projects.locations.collections.engines.delete", @@ -4960,7 +5018,7 @@ ] }, "get": { - "description": "Gets a Engine.", + "description": "Gets an Engine.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "GET", "id": "discoveryengine.projects.locations.collections.engines.get", @@ -4985,6 +5043,38 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "getWorkspaceSettings": { "description": "Get Workspace settings for the end user.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:getWorkspaceSettings", @@ -5089,7 +5179,7 @@ ] }, "pause": { - "description": "Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:pause", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.pause", @@ -5118,7 +5208,7 @@ ] }, "resume": { - "description": "Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:resume", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.resume", @@ -5146,8 +5236,37 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "tune": { - "description": "Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:tune", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.tune", @@ -5400,87 +5519,6 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, - "listAvailableAgentViews": { - "description": "Lists the data for displaying the Agents under an Assistant which are available to the caller.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}:listAvailableAgentViews", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.engines.assistants.listAvailableAgentViews", - "parameterOrder": [ - "parent" - ], - "parameters": { - "adminView": { - "description": "Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user.", - "location": "query", - "type": "boolean" - }, - "agentOrigin": { - "description": "Optional. The origin of the Agent.", - "enum": [ - "AGENT_ORIGIN_UNSPECIFIED", - "GOOGLE", - "ORGANIZATION", - "USER" - ], - "enumDescriptions": [ - "The origin is unspecified.", - "Agent defined by Google.", - "Agent defined by the organization.", - "Agent defined by the user." - ], - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the files being filtered. Filter expression is case-sensitive. Allowed fields are: * `display_name` * `state` Some examples of filters would be: * `display_name = 'agent_1'` * `display_name = 'agent_1' AND state = ENABLED` For a full description of the filter format, please see https://google.aip.dev/160.", - "location": "query", - "type": "string" - }, - "languageCode": { - "description": "Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentViews in the response should be translated to this language.", - "location": "query", - "type": "string" - }, - "maxSuggestedPrompts": { - "description": "Optional. The maximum number of suggested prompts to return per agent.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageSize": { - "description": "Optional. Maximum number of AgentViews to return. If unspecified, defaults to 100. The maximum allowed value is 1000; anything above that will be coerced down to 1000.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token ListAvailableAgentViewsResponse.next_page_token, received from a previous AgentService.ListAvailableAgentViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAvailableAgentViews must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+$", - "required": true, - "type": "string" - }, - "sortBy": { - "description": "Optional. The field to sort by. Can have the following values: - display-name: The display name of the agent. - description: The description of the agent. - create-time: The creation time of the agent. - state: The state of the agent.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+parent}:listAvailableAgentViews", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, "patch": { "description": "Updates an Assistant", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}", @@ -5608,70 +5646,6 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, - "disableAgent": { - "description": "Disables an Agent. The `state` of the Agent becomes `DISABLED`. Can be called on an Agent in the state `ENABLED` or`SUSPENDED`, otherwise it returns an error.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:disableAgent", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.disableAgent", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the Agent to disable. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - }, - "revisionId": { - "description": "Optional. The Revision ID of the Agent to disable. If not specified, the latest revision will be disabled.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}:disableAgent", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgent" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, - "enableAgent": { - "description": "Enables an Agent. The `state` of the Agent becomes `ENABLED`. Can be called on an Agent in the state `DISABLED` or 'SUSPENDED', otherwise it returns an error.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:enableAgent", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.enableAgent", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the Agent to enable. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - }, - "revisionId": { - "description": "Optional. The Revision ID of the Agent to enable. If not specified, the latest revision will be enabled.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}:enableAgent", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgent" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, "get": { "description": "Gets an Agent.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}", @@ -5699,82 +5673,6 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, - "getAgentView": { - "description": "Returns a AgentView for a given Agent, which contains additional information about the Agent.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:getAgentView", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.getAgentView", - "parameterOrder": [ - "name" - ], - "parameters": { - "adminView": { - "description": "Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user.", - "location": "query", - "type": "boolean" - }, - "languageCode": { - "description": "Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentView in the response should be translated to this language.", - "location": "query", - "type": "string" - }, - "maxSuggestedPrompts": { - "description": "Optional. The maximum number of suggested prompts to return per agent.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "name": { - "description": "Required. The name of the Agent to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}:getAgentView", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, - "getIamPolicy": { - "description": "Gets the access control policy for an agent resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:getIamPolicy", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+resource}:getIamPolicy", - "response": { - "$ref": "GoogleIamV1Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, "list": { "description": "Lists all Agents under an Assistant which were created by the caller.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents", @@ -5853,68 +5751,6 @@ "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", "https://www.googleapis.com/auth/discoveryengine.readwrite" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy for an agent resource. A `NOT_FOUND` error is returned if the resource does not exist. Policy can only contain `roles/discoveryengine.agentUser`, `roles/discoveryengine.agentViewer` and `roles/discoveryengine.agentEditor` roles.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:setIamPolicy", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+resource}:setIamPolicy", - "request": { - "$ref": "GoogleIamV1SetIamPolicyRequest" - }, - "response": { - "$ref": "GoogleIamV1Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] - }, - "suspendAgent": { - "description": "Suspends an Agent. It is still available for viewing but not for use. The `state` of the Agent becomes `SUSPENDED`. Can be called on an Agent in the state `ENABLED`, otherwise it returns an error.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agents/{agentsId}:suspendAgent", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.engines.assistants.agents.suspendAgent", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the Agent to suspend. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agents/[^/]+$", - "required": true, - "type": "string" - }, - "suspensionReason": { - "description": "Required. The reason for suspending the Agent. This will be shown to the users of the Agent.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}:suspendAgent", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgent" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite" - ] } }, "resources": { @@ -12414,7 +12250,7 @@ } } }, - "revision": "20260130", + "revision": "20260215", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -13509,14 +13345,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -13884,7 +13722,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -13899,7 +13739,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -14392,14 +14234,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -14886,6 +14730,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -14984,14 +14835,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -15230,6 +15083,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -15238,18 +15092,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -15605,6 +15460,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -15637,13 +15502,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -15654,13 +15523,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -15675,6 +15546,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -15683,18 +15555,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -15833,6 +15706,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -15848,6 +15725,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -16368,14 +16267,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -17507,197 +17408,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAgentView": { - "description": "The data for displaying an Agent.", - "id": "GoogleCloudDiscoveryengineV1alphaAgentView", - "properties": { - "agentOrigin": { - "description": "Immutable. The origin of the Agent.", - "enum": [ - "AGENT_ORIGIN_UNSPECIFIED", - "GOOGLE", - "ORGANIZATION", - "USER" - ], - "enumDescriptions": [ - "The origin is unspecified.", - "Agent defined by Google.", - "Agent defined by the organization.", - "Agent defined by the user." - ], - "type": "string" - }, - "agentSharingState": { - "description": "Output only. The sharing state of the agent.", - "enum": [ - "AGENT_SHARING_STATE_UNSPECIFIED", - "NOT_SHARED", - "PENDING", - "SHARED", - "REJECTED" - ], - "enumDescriptions": [ - "The sharing state is unspecified.", - "The agent is not shared.", - "The agent is pending review.", - "The agent is shared with other users.", - "The agent sharing request was rejected." - ], - "readOnly": true, - "type": "string" - }, - "agentType": { - "description": "Output only. The type of the agent.", - "enum": [ - "AGENT_TYPE_UNSPECIFIED", - "NO_CODE", - "HTTP", - "ADK", - "MANAGED", - "A2A", - "DIALOGFLOW", - "LOW_CODE" - ], - "enumDescriptions": [ - "The agent type is unspecified.", - "No-code agent.", - "HTTP agent.", - "ADK agent.", - "Google managed agent.", - "A2A agent.", - "Dialogflow agent.", - "Low-code agent." - ], - "readOnly": true, - "type": "string" - }, - "customPlaceholderText": { - "description": "The custom placeholder text that appears in the text box before the user enters any text.", - "type": "string" - }, - "deploymentFailureReason": { - "description": "The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED.", - "type": "string" - }, - "description": { - "description": "Required. Human-readable description of the agent. This might be used by an LLM to automatically select an agent to respond to a user query and to generate the first version of the steps for the agent that can be modified by the user. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled.", - "type": "string" - }, - "displayName": { - "description": "Required. Display name of the agent. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled.", - "type": "string" - }, - "icon": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgentImage", - "description": "Optional. The icon that represents the agent on the UI." - }, - "name": { - "description": "Resource name of the agent. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}`", - "type": "string" - }, - "rejectionReason": { - "description": "The reason why the agent was rejected. Only set if the state is PRIVATE, and got there via rejection.", - "type": "string" - }, - "state": { - "description": "Output only. The state of the Agent.", - "enum": [ - "STATE_UNSPECIFIED", - "CONFIGURED", - "DEPLOYING", - "DISABLED", - "DEPLOYMENT_FAILED", - "PRIVATE", - "ENABLED", - "SUSPENDED" - ], - "enumDescriptions": [ - "The state is unspecified.", - "The agent is configured, but no deployment triggered yet.", - "The agent is being deployed.", - "The agent is available for admins only.", - "The agent deployment failed.", - "Agent is available only to its creator..", - "Agent is available for users who have access.", - "Agent is temporarily unavailable, though visible to users who have access." - ], - "readOnly": true, - "type": "string" - }, - "suggestedPrompts": { - "description": "Optional. The suggested prompts for the agent, to be shown on the agent landing page.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt" - }, - "type": "array" - }, - "suspensionReason": { - "description": "The reason why the agent was suspended. Only set if the state is SUSPENDED.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The timestamp when the agent was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "userAnnotations": { - "$ref": "GoogleCloudDiscoveryengineV1alphaUserAnnotations", - "description": "Optional. Per-user annotations of the current caller for the agent." - }, - "userPermissions": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions", - "description": "The permissions of the user for this Agent." - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt": { - "description": "A suggested prompt for the agent, to be shown on the agent landing page.", - "id": "GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt", - "properties": { - "text": { - "description": "Required. The text of the suggested prompt. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions": { - "description": "The permissions of the user on an Agent.", - "id": "GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions", - "properties": { - "canDelete": { - "description": "If the user can delete this Agent.", - "type": "boolean" - }, - "canEdit": { - "description": "If the user can edit this Agent.", - "type": "boolean" - }, - "canProposeUsers": { - "description": "If the user can propose other users to share the Agent with.", - "type": "boolean" - }, - "canRequestReview": { - "description": "If the user can request a review for this Agent.", - "type": "boolean" - }, - "canRun": { - "description": "If the user can run this Agent.", - "type": "boolean" - }, - "canView": { - "description": "If the user can view the source of this Agent.", - "type": "boolean" - }, - "canWithdraw": { - "description": "If the user can withdraw this Agent.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaAlertPolicyConfig": { "description": "The connector level alert config.", "id": "GoogleCloudDiscoveryengineV1alphaAlertPolicyConfig", @@ -17766,6 +17476,10 @@ "languageCode": { "description": "Optional. The language code used for notifications", "type": "string" + }, + "regionCode": { + "description": "Optional. The region code used of the user that subscribed to the alert policy.", + "type": "string" } }, "type": "object" @@ -20242,6 +19956,14 @@ "description": "Whether the BillingAccountLicenseConfig is auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "The date when the subscription is terminated earlier than the expiration date." + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed subscription end date." @@ -20281,13 +20003,15 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "DEACTIVATING" ], "enumDescriptions": [ "The BillingAccountLicenseConfig does not exist. Default value. Do not use.", "The BillingAccountLicenseConfig is active and being used.", "The BillingAccountLicenseConfig has expired.", - "The BillingAccountLicenseConfig has not started yet, and its start date is in the future." + "The BillingAccountLicenseConfig has not started yet, and its start date is in the future.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -20307,13 +20031,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -20328,6 +20054,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -20336,18 +20063,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -21079,6 +20807,20 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCompleteExternalIdentitiesResponse": { + "description": "Response message for CompletionService.CompleteExternalIdentities.", + "id": "GoogleCloudDiscoveryengineV1alphaCompleteExternalIdentitiesResponse", + "properties": { + "externalIdentities": { + "description": "The list of external identities that match the query.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaExternalIdentity" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse", @@ -21514,14 +21256,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -22179,7 +21923,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -22194,7 +21940,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -22209,6 +21957,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", "type": "string" @@ -22556,6 +22308,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy": { + "description": "Data protection policy config for a connector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection content policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1alphaDataStore", @@ -22696,14 +22470,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -23533,6 +23309,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -23640,14 +23423,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -23942,6 +23727,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -23950,18 +23736,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -24219,6 +24006,54 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaExternalIdentity": { + "description": "External identity representing either a user or group. This user or group is from an external identity provider (IdP).", + "id": "GoogleCloudDiscoveryengineV1alphaExternalIdentity", + "properties": { + "displayName": { + "description": "The display name of the user or group.", + "type": "string" + }, + "externalId": { + "description": "The unique 3P ID(external_id) of the entity (user or group).", + "type": "string" + }, + "groupMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata", + "description": "Metadata corresponding to the external user." + }, + "userMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata", + "description": "Metadata corresponding to the external user." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata": { + "description": "Metadata corresponding to the external group.", + "id": "GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata": { + "description": "Metadata corresponding to the external user.", + "id": "GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata", + "properties": { + "familyName": { + "description": "The user's family name.", + "type": "string" + }, + "givenName": { + "description": "The user's given name.", + "type": "string" + }, + "primaryEmail": { + "description": "The user's primary email address.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFactChunk": { "description": "Fact Chunk.", "id": "GoogleCloudDiscoveryengineV1alphaFactChunk", @@ -24693,17 +24528,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse": { - "description": "Response message for the AgentService.GetAgentView method.", - "id": "GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse", - "properties": { - "agentView": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgentView", - "description": "The data for displaying an Agent." - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaGetConnectorSecretResponse": { "description": "Response message for DataConnectorService.GetConnectorSecret.", "id": "GoogleCloudDiscoveryengineV1alphaGetConnectorSecretResponse", @@ -25610,6 +25434,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -25642,13 +25476,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -25659,13 +25497,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -25680,6 +25520,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -25688,18 +25529,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -25776,24 +25618,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse": { - "description": "Response message for the AgentService.ListAvailableAgentViews method.", - "id": "GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse", - "properties": { - "agentViews": { - "description": "The agent sources visible to the caller under the parent Assistant.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAgentView" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token that can be sent as ListAvailableAgentViewsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaListBillingAccountLicenseConfigsResponse": { "description": "Response message for LicenseConfigService.ListBillingAccountLicenseConfigs method.", "id": "GoogleCloudDiscoveryengineV1alphaListBillingAccountLicenseConfigsResponse", @@ -26644,6 +26468,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -26659,6 +26487,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -27086,6 +26936,13 @@ "description": "Defines a user inputed query.", "id": "GoogleCloudDiscoveryengineV1alphaQuery", "properties": { + "parts": { + "description": "Query content parts.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPart" + }, + "type": "array" + }, "queryId": { "description": "Output only. Unique Id for the query.", "readOnly": true, @@ -27167,6 +27024,137 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaQueryPart": { + "description": "Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPart", + "properties": { + "documentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "description": "Other VAIS Document references." + }, + "driveDocumentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "description": "Reference to a Google Drive document." + }, + "mimeType": { + "description": "Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is \"text/plain\" for the \"data\" field.", + "type": "string" + }, + "personReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "description": "Reference to a person." + }, + "text": { + "description": "Text content.", + "type": "string" + }, + "uiJsonPayload": { + "description": "This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference": { + "description": "Represents a document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the reference.", + "type": "string" + }, + "urlForConnector": { + "description": "Input only. The url_for_connector of the document returned by Federated Search.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference": { + "description": "Represents a Google Drive document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "driveId": { + "description": "The Drive id of the document.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the Drive document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the Drive document reference.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference": { + "description": "Represents a person reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the person.", + "type": "string" + }, + "displayName": { + "description": "The display name of the person.", + "type": "string" + }, + "displayPhotoUri": { + "description": "The display photo url of the person.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "email": { + "description": "The email of the person.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the person data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "personId": { + "description": "The person id of the person.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaRankRequest": { "description": "Request message for RankService.Rank method.", "id": "GoogleCloudDiscoveryengineV1alphaRankRequest", @@ -28200,6 +28188,11 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -28705,6 +28698,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -29998,14 +29996,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -30462,6 +30462,10 @@ "description": "Request for the AssistantService.StreamAssist method.", "id": "GoogleCloudDiscoveryengineV1alphaStreamAssistRequest", "properties": { + "actionSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestActionSpec", + "description": "Optional. Specification of actions for the request." + }, "generationSpec": { "$ref": "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestGenerationSpec", "description": "Optional. Specification of the generation configuration for the request." @@ -30485,6 +30489,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestActionSpec": { + "description": "Specification of actions for the request.", + "id": "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestActionSpec", + "properties": { + "actionDisabled": { + "description": "Optional. If true, actions will not be served for the request. This only works for enterprise edition.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestGenerationSpec": { "description": "Assistant generation specification for the request. This allows to override the default generation configuration at the engine level.", "id": "GoogleCloudDiscoveryengineV1alphaStreamAssistRequestGenerationSpec", @@ -30996,21 +31011,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaUserAnnotations": { - "description": "Per-user annotations for an Agent, based on UserAnnotation.", - "id": "GoogleCloudDiscoveryengineV1alphaUserAnnotations", - "properties": { - "pinned": { - "description": "Optional. Whether the agent is pinned, pinned agent will be displayed on the top of the agent list.", - "type": "boolean" - }, - "viewed": { - "description": "Optional. Whether the agent has been viewed by the user.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaUserEvent": { "description": "UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website.", "id": "GoogleCloudDiscoveryengineV1alphaUserEvent", @@ -31511,14 +31511,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -32503,14 +32505,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -32920,14 +32924,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -33357,6 +33363,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -33455,14 +33468,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -33701,6 +33716,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -33709,18 +33725,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -34253,6 +34270,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -34285,13 +34312,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -34302,13 +34333,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -34323,6 +34356,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -34331,18 +34365,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -34530,6 +34565,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -34545,6 +34584,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -34910,6 +34971,11 @@ "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -35411,6 +35477,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" diff --git a/discovery/discoveryengine-v1beta.json b/discovery/discoveryengine-v1beta.json index bcb3b5399af..a1f0e95466e 100644 --- a/discovery/discoveryengine-v1beta.json +++ b/discovery/discoveryengine-v1beta.json @@ -3448,7 +3448,7 @@ "engines": { "methods": { "create": { - "description": "Creates a Engine.", + "description": "Creates an Engine.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.create", @@ -3482,7 +3482,7 @@ ] }, "delete": { - "description": "Deletes a Engine.", + "description": "Deletes an Engine.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "DELETE", "id": "discoveryengine.projects.locations.collections.engines.delete", @@ -3508,7 +3508,7 @@ ] }, "get": { - "description": "Gets a Engine.", + "description": "Gets an Engine.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", "httpMethod": "GET", "id": "discoveryengine.projects.locations.collections.engines.get", @@ -3533,6 +3533,38 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.engines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "list": { "description": "Lists all the Engines associated with the project.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", @@ -3611,7 +3643,7 @@ ] }, "pause": { - "description": "Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:pause", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.pause", @@ -3640,7 +3672,7 @@ ] }, "resume": { - "description": "Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:resume", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.resume", @@ -3668,8 +3700,37 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite" ] }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite" + ] + }, "tune": { - "description": "Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "description": "Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:tune", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.engines.tune", @@ -9106,7 +9167,7 @@ } } }, - "revision": "20260130", + "revision": "20260215", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -10201,14 +10262,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -10576,7 +10639,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -10591,7 +10656,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -11084,14 +11151,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -11578,6 +11647,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -11676,14 +11752,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -11922,6 +12000,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -11930,18 +12009,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -12297,6 +12377,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -12329,13 +12419,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -12346,13 +12440,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -12367,6 +12463,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -12375,18 +12472,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -12525,6 +12623,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -12540,6 +12642,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -13060,14 +13184,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -13701,6 +13827,10 @@ "languageCode": { "description": "Optional. The language code used for notifications", "type": "string" + }, + "regionCode": { + "description": "Optional. The region code used of the user that subscribed to the alert policy.", + "type": "string" } }, "type": "object" @@ -15348,14 +15478,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -15751,7 +15883,9 @@ "THIRD_PARTY_FEDERATED", "THIRD_PARTY_EUA", "GCNV", - "GOOGLE_CHAT" + "GOOGLE_CHAT", + "GOOGLE_SITES", + "REMOTE_MCP" ], "enumDescriptions": [ "Default value.", @@ -15766,7 +15900,9 @@ "Federated connector, it is a third party connector that doesn't ingestion data, and search is powered by third party application's API.", "Connector utilized for End User Authentication features.", "Google Cloud NetApp Volumes connector.", - "Google Chat connector." + "Google Chat connector.", + "Google Sites connector.", + "Remote MCP based connector." ], "readOnly": true, "type": "string" @@ -15781,6 +15917,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", "type": "string" @@ -16128,6 +16268,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy": { + "description": "Data protection policy config for a connector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection content policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1alphaDataStore", @@ -16268,14 +16430,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -16841,6 +17005,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -16948,14 +17119,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -17250,6 +17423,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -17258,18 +17432,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -18070,6 +18245,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -18102,13 +18287,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -18119,13 +18308,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -18140,6 +18331,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -18148,18 +18340,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -18420,6 +18613,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -18435,6 +18632,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -18716,6 +18935,13 @@ "description": "Defines a user inputed query.", "id": "GoogleCloudDiscoveryengineV1alphaQuery", "properties": { + "parts": { + "description": "Query content parts.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPart" + }, + "type": "array" + }, "queryId": { "description": "Output only. Unique Id for the query.", "readOnly": true, @@ -18728,6 +18954,137 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaQueryPart": { + "description": "Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPart", + "properties": { + "documentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "description": "Other VAIS Document references." + }, + "driveDocumentReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "description": "Reference to a Google Drive document." + }, + "mimeType": { + "description": "Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is \"text/plain\" for the \"data\" field.", + "type": "string" + }, + "personReference": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "description": "Reference to a person." + }, + "text": { + "description": "Text content.", + "type": "string" + }, + "uiJsonPayload": { + "description": "This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference": { + "description": "Represents a document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the reference.", + "type": "string" + }, + "urlForConnector": { + "description": "Input only. The url_for_connector of the document returned by Federated Search.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference": { + "description": "Represents a Google Drive document reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the reference.", + "type": "string" + }, + "displayTitle": { + "description": "The display title of the reference.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "driveId": { + "description": "The Drive id of the document.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the Drive document data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "iconUri": { + "description": "The icon uri of the Drive document reference.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference": { + "description": "Represents a person reference.", + "id": "GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference", + "properties": { + "destinationUri": { + "description": "The destination uri of the person.", + "type": "string" + }, + "displayName": { + "description": "The display name of the person.", + "type": "string" + }, + "displayPhotoUri": { + "description": "The display photo url of the person.", + "type": "string" + }, + "documentName": { + "description": "The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", + "type": "string" + }, + "email": { + "description": "The email of the person.", + "type": "string" + }, + "fileId": { + "description": "Output only. The file id of the person data stored in the session context files.", + "readOnly": true, + "type": "string" + }, + "personId": { + "description": "The person id of the person.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata", @@ -19158,6 +19515,11 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -19663,6 +20025,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -23966,14 +24333,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -24645,14 +25014,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -25299,6 +25670,13 @@ ], "type": "string" }, + "connectorTenantInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Maps a connector ID (e.g., \"hybrid-github\", \"shopify\") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent.", + "type": "object" + }, "createTime": { "description": "Output only. Timestamp the Recommendation Engine was created at.", "format": "google-datetime", @@ -25397,14 +25775,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -25643,6 +26023,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -25651,18 +26032,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" }, @@ -26667,6 +27049,16 @@ "description": "Optional. Whether the license config should be auto renewed when it reaches the end date.", "type": "boolean" }, + "earlyTerminated": { + "description": "Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3.", + "readOnly": true, + "type": "boolean" + }, + "earlyTerminationDate": { + "$ref": "GoogleTypeDate", + "description": "Output only. The date when the subscription is terminated earlier than the expiration date.", + "readOnly": true + }, "endDate": { "$ref": "GoogleTypeDate", "description": "Optional. The planed end date." @@ -26699,13 +27091,17 @@ "STATE_UNSPECIFIED", "ACTIVE", "EXPIRED", - "NOT_STARTED" + "NOT_STARTED", + "WITHDRAWN", + "DEACTIVATING" ], "enumDescriptions": [ "Default value. The license config does not exist.", "The license config is effective and being used.", "The license config has expired.", - "The license config has not started yet, and its start date is in the future." + "The license config has not started yet, and its start date is in the future.", + "This is when a sub license config has returned all its seats back to BillingAccountLicenseConfig that it belongs to. Similar to EXPIRED.", + "The license config is terminated earlier than the expiration date and it is deactivating. The customer will still have access in this state. It will be converted to EXPIRED after the deactivating period ends (14 days) or when the end date is reached, whichever comes first." ], "readOnly": true, "type": "string" @@ -26716,13 +27112,15 @@ "SUBSCRIPTION_TERM_UNSPECIFIED", "SUBSCRIPTION_TERM_ONE_MONTH", "SUBSCRIPTION_TERM_ONE_YEAR", - "SUBSCRIPTION_TERM_THREE_YEARS" + "SUBSCRIPTION_TERM_THREE_YEARS", + "SUBSCRIPTION_TERM_CUSTOM" ], "enumDescriptions": [ "Default value, do not use.", "1 month.", "1 year.", - "3 years." + "3 years.", + "Custom term. Must set the end_date." ], "type": "string" }, @@ -26737,6 +27135,7 @@ "SUBSCRIPTION_TIER_AGENTSPACE_STARTER", "SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS", "SUBSCRIPTION_TIER_ENTERPRISE", + "SUBSCRIPTION_TIER_ENTERPRISE_EMERGING", "SUBSCRIPTION_TIER_EDU", "SUBSCRIPTION_TIER_EDU_PRO", "SUBSCRIPTION_TIER_EDU_EMERGING", @@ -26745,18 +27144,19 @@ ], "enumDescriptions": [ "Default value.", - "Search tier. Search tier can access VAIS search features and NotebookLM features.", - "Search + assistant tier. Search + assistant tier can access VAIS search features, NotebookLM features and assistant features.", + "Search tier. Search tier can access Vertex AI Search features and NotebookLM features.", + "Gemini Enterprise Plus tier.", "NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features.", - "Frontline worker tier.", - "Agentspace Starter tier.", - "Agentspace Business tier.", - "Enterprise tier.", - "EDU tier.", - "EDU Pro tier.", - "EDU emerging market tier.", - "EDU Pro emerging market tier.", - "Frontline starter tier." + "Gemini Frontline worker tier.", + "Gemini Business Starter tier.", + "Gemini Business tier.", + "Gemini Enterprise Standard tier.", + "Gemini Enterprise Standard tier for emerging markets.", + "Gemini Enterprise EDU tier.", + "Gemini Enterprise EDU Pro tier.", + "Gemini Enterprise EDU tier for emerging market only.", + "Gemini Enterprise EDU Pro tier for emerging market.", + "Gemini Frontline Starter tier." ], "type": "string" } @@ -27438,6 +27838,10 @@ "description": "Configuration for NotebookLM.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig", "properties": { + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for NotebookLM." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", "description": "Model Armor configuration to be used for sanitizing user prompts and LLM responses." @@ -27453,6 +27857,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy": { + "description": "Data protection policy config for NotebookLM.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. The sensitive data protection policy." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. The Sensitive Data Protection policy resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig": { "description": "Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig", @@ -28455,6 +28881,11 @@ "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "description": "Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, + "numResultsPerDataStore": { + "description": "Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit.", + "format": "int32", + "type": "integer" + }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold.", "format": "int32", @@ -28956,6 +29387,11 @@ "filter": { "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" + }, + "numResults": { + "description": "Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -30241,14 +30677,16 @@ "SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "SOLUTION_TYPE_GENERATIVE_CHAT", + "SOLUTION_TYPE_AI_MODE" ], "enumDescriptions": [ "Default value.", "Used for Recommendations AI.", "Used for Discovery Search.", "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution.", + "Used for AI Mode." ], "type": "string" }, @@ -31318,6 +31756,63 @@ }, "type": "object" }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + } + }, + "type": "object" + }, "GoogleLongrunningCancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "GoogleLongrunningCancelOperationRequest", @@ -31623,6 +32118,29 @@ }, "type": "object" }, + "GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "GoogleTypeExpr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, "GoogleTypeTimeZone": { "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", "id": "GoogleTypeTimeZone", diff --git a/discovery/displayvideo-v2.json b/discovery/displayvideo-v2.json index 0dbb45b0a86..3364069a937 100644 --- a/discovery/displayvideo-v2.json +++ b/discovery/displayvideo-v2.json @@ -7981,7 +7981,7 @@ } } }, - "revision": "20260107", + "revision": "20260210", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -14431,16 +14431,19 @@ "id": "ImageAsset", "properties": { "fileSize": { - "description": "File size of the image asset in bytes.", + "description": "Output only. File size of the image asset in bytes.", "format": "int64", + "readOnly": true, "type": "string" }, "fullSize": { "$ref": "Dimensions", - "description": "Metadata for this image at its original size." + "description": "Output only. Metadata for this image at its original size.", + "readOnly": true }, "mimeType": { - "description": "MIME type of the image asset.", + "description": "Output only. MIME type of the image asset.", + "readOnly": true, "type": "string" } }, @@ -20051,7 +20054,8 @@ "id": "YoutubeVideoDetails", "properties": { "id": { - "description": "The YouTube video ID which can be searched on YouTube webpage.", + "description": "Output only. The YouTube video ID which can be searched on YouTube webpage.", + "readOnly": true, "type": "string" }, "unavailableReason": { @@ -20067,6 +20071,11 @@ "The video is deleted." ], "type": "string" + }, + "videoAssetId": { + "description": "Required. The YouTube video asset id. This is ad_asset.ad_asset_id.", + "format": "int64", + "type": "string" } }, "type": "object" diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index 43430245fc2..acb41e9e2c7 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -8156,7 +8156,7 @@ } } }, - "revision": "20260127", + "revision": "20260212", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -8279,7 +8279,7 @@ "id": "AdGroup", "properties": { "adGroupFormat": { - "description": "The format of the ads in the ad group.", + "description": "Required. The format of the ads in the ad group.", "enum": [ "AD_GROUP_FORMAT_UNSPECIFIED", "AD_GROUP_FORMAT_IN_STREAM", @@ -8305,25 +8305,27 @@ "type": "string" }, "adGroupId": { - "description": "The unique ID of the ad group. Assigned by the system.", + "description": "Output only. The unique ID of the ad group. Assigned by the system.", "format": "int64", + "readOnly": true, "type": "string" }, "advertiserId": { - "description": "The unique ID of the advertiser the ad group belongs to.", + "description": "Output only. The unique ID of the advertiser the ad group belongs to.", "format": "int64", + "readOnly": true, "type": "string" }, "bidStrategy": { "$ref": "BiddingStrategy", - "description": "The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy." + "description": "Optional. The bidding strategy used by the ad group. Only the youtubeAndPartnersBid and demandGenBid field can be used in the bidding strategy." }, "displayName": { - "description": "The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "description": "Required. The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", "type": "string" }, "entityStatus": { - "description": "Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "description": "Required. Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -8343,21 +8345,22 @@ "type": "string" }, "lineItemId": { - "description": "The unique ID of the line item that the ad group belongs to.", + "description": "Required. The unique ID of the line item that the ad group belongs to.", "format": "int64", "type": "string" }, "name": { - "description": "The resource name of the ad group.", + "description": "Output only. Identifier. The resource name of the ad group.", + "readOnly": true, "type": "string" }, "productFeedData": { "$ref": "ProductFeedData", - "description": "The settings of the product feed in this ad group." + "description": "Optional. The settings of the product feed in this ad group." }, "targetingExpansion": { "$ref": "TargetingExpansionConfig", - "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." + "description": "Optional. The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." } }, "type": "object" @@ -8373,7 +8376,7 @@ "type": "string" }, "adGroupId": { - "description": "The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field.", + "description": "Required. The unique ID of the ad group that the ad belongs to.", "format": "int64", "type": "string" }, @@ -8383,10 +8386,11 @@ "readOnly": true }, "adUrls": { - "description": "List of URLs used by the ad.", + "description": "Output only. List of URLs used by the ad.", "items": { "$ref": "AdUrl" }, + "readOnly": true, "type": "array" }, "advertiserId": { @@ -8397,22 +8401,25 @@ }, "audioAd": { "$ref": "AudioAd", - "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives." + "description": "Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives.", + "readOnly": true }, "bumperAd": { "$ref": "BumperAd", - "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach." + "description": "Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach.", + "readOnly": true }, "displayName": { - "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "description": "Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", "type": "string" }, "displayVideoSourceAd": { "$ref": "DisplayVideoSourceAd", - "description": "Details of an ad sourced from a Display & Video 360 creative." + "description": "Output only. Details of an ad sourced from a Display & Video 360 creative.", + "readOnly": true }, "entityStatus": { - "description": "The entity status of the ad.", + "description": "Required. The entity status of the ad.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -8433,11 +8440,13 @@ }, "inStreamAd": { "$ref": "InStreamAd", - "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives." + "description": "Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives.", + "readOnly": true }, "mastheadAd": { "$ref": "MastheadAd", - "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826)." + "description": "Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826).", + "readOnly": true }, "name": { "description": "Output only. The resource name of the ad.", @@ -8446,15 +8455,18 @@ }, "nonSkippableAd": { "$ref": "NonSkippableAd", - "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives." + "description": "Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives.", + "readOnly": true }, "videoDiscoverAd": { "$ref": "VideoDiscoveryAd", - "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery." + "description": "Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery.", + "readOnly": true }, "videoPerformanceAd": { "$ref": "VideoPerformanceAd", - "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product." + "description": "Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product.", + "readOnly": true } }, "type": "object" @@ -16955,16 +16967,19 @@ "id": "ImageAsset", "properties": { "fileSize": { - "description": "File size of the image asset in bytes.", + "description": "Output only. File size of the image asset in bytes.", "format": "int64", + "readOnly": true, "type": "string" }, "fullSize": { "$ref": "Dimensions", - "description": "Metadata for this image at its original size." + "description": "Output only. Metadata for this image at its original size.", + "readOnly": true }, "mimeType": { - "description": "MIME type of the image asset.", + "description": "Output only. MIME type of the image asset.", + "readOnly": true, "type": "string" } }, @@ -22481,7 +22496,8 @@ "id": "YoutubeVideoDetails", "properties": { "id": { - "description": "The YouTube video ID which can be searched on YouTube webpage.", + "description": "Output only. The YouTube video ID which can be searched on YouTube webpage.", + "readOnly": true, "type": "string" }, "unavailableReason": { @@ -22497,6 +22513,11 @@ "The video is deleted." ], "type": "string" + }, + "videoAssetId": { + "description": "Required. The YouTube video asset id. This is ad_asset.ad_asset_id.", + "format": "int64", + "type": "string" } }, "type": "object" diff --git a/discovery/displayvideo-v4.json b/discovery/displayvideo-v4.json index 1ccc775e0cc..0c8b57e28cb 100644 --- a/discovery/displayvideo-v4.json +++ b/discovery/displayvideo-v4.json @@ -9925,7 +9925,7 @@ } } }, - "revision": "20260127", + "revision": "20260212", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -10104,7 +10104,7 @@ "id": "AdGroup", "properties": { "adGroupFormat": { - "description": "The format of the ads in the ad group.", + "description": "Required. The format of the ads in the ad group.", "enum": [ "AD_GROUP_FORMAT_UNSPECIFIED", "AD_GROUP_FORMAT_IN_STREAM", @@ -10130,25 +10130,27 @@ "type": "string" }, "adGroupId": { - "description": "The unique ID of the ad group. Assigned by the system.", + "description": "Output only. The unique ID of the ad group. Assigned by the system.", "format": "int64", + "readOnly": true, "type": "string" }, "advertiserId": { - "description": "The unique ID of the advertiser the ad group belongs to.", + "description": "Output only. The unique ID of the advertiser the ad group belongs to.", "format": "int64", + "readOnly": true, "type": "string" }, "bidStrategy": { "$ref": "BiddingStrategy", - "description": "The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy." + "description": "Optional. The bidding strategy used by the ad group. Only the youtubeAndPartnersBid and demandGenBid field can be used in the bidding strategy." }, "displayName": { - "description": "The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "description": "Required. The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", "type": "string" }, "entityStatus": { - "description": "Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "description": "Required. Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -10168,21 +10170,22 @@ "type": "string" }, "lineItemId": { - "description": "The unique ID of the line item that the ad group belongs to.", + "description": "Required. The unique ID of the line item that the ad group belongs to.", "format": "int64", "type": "string" }, "name": { - "description": "The resource name of the ad group.", + "description": "Output only. Identifier. The resource name of the ad group.", + "readOnly": true, "type": "string" }, "productFeedData": { "$ref": "ProductFeedData", - "description": "The settings of the product feed in this ad group." + "description": "Optional. The settings of the product feed in this ad group." }, "targetingExpansion": { "$ref": "TargetingExpansionConfig", - "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." + "description": "Optional. The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." } }, "type": "object" @@ -10198,7 +10201,7 @@ "type": "string" }, "adGroupId": { - "description": "The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field.", + "description": "Required. The unique ID of the ad group that the ad belongs to.", "format": "int64", "type": "string" }, @@ -10208,10 +10211,11 @@ "readOnly": true }, "adUrls": { - "description": "List of URLs used by the ad.", + "description": "Output only. List of URLs used by the ad.", "items": { "$ref": "AdUrl" }, + "readOnly": true, "type": "array" }, "advertiserId": { @@ -10222,22 +10226,25 @@ }, "audioAd": { "$ref": "AudioAd", - "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives." + "description": "Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives.", + "readOnly": true }, "bumperAd": { "$ref": "BumperAd", - "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach." + "description": "Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach.", + "readOnly": true }, "displayName": { - "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "description": "Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", "type": "string" }, "displayVideoSourceAd": { "$ref": "DisplayVideoSourceAd", - "description": "Details of an ad sourced from a Display & Video 360 creative." + "description": "Output only. Details of an ad sourced from a Display & Video 360 creative.", + "readOnly": true }, "entityStatus": { - "description": "The entity status of the ad.", + "description": "Required. The entity status of the ad.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -10258,11 +10265,13 @@ }, "inStreamAd": { "$ref": "InStreamAd", - "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives." + "description": "Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives.", + "readOnly": true }, "mastheadAd": { "$ref": "MastheadAd", - "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826)." + "description": "Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826).", + "readOnly": true }, "name": { "description": "Output only. The resource name of the ad.", @@ -10271,15 +10280,18 @@ }, "nonSkippableAd": { "$ref": "NonSkippableAd", - "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives." + "description": "Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives.", + "readOnly": true }, "videoDiscoverAd": { "$ref": "VideoDiscoveryAd", - "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery." + "description": "Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery.", + "readOnly": true }, "videoPerformanceAd": { "$ref": "VideoPerformanceAd", - "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product." + "description": "Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product.", + "readOnly": true } }, "type": "object" @@ -18951,16 +18963,19 @@ "id": "ImageAsset", "properties": { "fileSize": { - "description": "File size of the image asset in bytes.", + "description": "Output only. File size of the image asset in bytes.", "format": "int64", + "readOnly": true, "type": "string" }, "fullSize": { "$ref": "Dimensions", - "description": "Metadata for this image at its original size." + "description": "Output only. Metadata for this image at its original size.", + "readOnly": true }, "mimeType": { - "description": "MIME type of the image asset.", + "description": "Output only. MIME type of the image asset.", + "readOnly": true, "type": "string" } }, @@ -24711,7 +24726,8 @@ "id": "YoutubeVideoDetails", "properties": { "id": { - "description": "The YouTube video ID which can be searched on YouTube webpage.", + "description": "Output only. The YouTube video ID which can be searched on YouTube webpage.", + "readOnly": true, "type": "string" }, "unavailableReason": { @@ -24727,6 +24743,11 @@ "The video is deleted." ], "type": "string" + }, + "videoAssetId": { + "description": "Required. The YouTube video asset id. This is ad_asset.ad_asset_id.", + "format": "int64", + "type": "string" } }, "type": "object" diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index bc051fe40ea..fd394d927ef 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -5128,7 +5128,7 @@ } } }, - "revision": "20260123", + "revision": "20260129", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -6793,7 +6793,7 @@ "id": "GooglePrivacyDlpV2CustomInfoType", "properties": { "detectionRules": { - "description": "Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type` CustomInfoType.", + "description": "Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type`, `metadata_key_value_expression`, and `prompt` CustomInfoType.", "items": { "$ref": "GooglePrivacyDlpV2DetectionRule" }, @@ -6804,7 +6804,7 @@ "description": "A list of phrases to detect as a CustomInfoType." }, "exclusionType": { - "description": "If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching.", + "description": "If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Not supported for the `metadata_key_value_expression` and `prompt` CustomInfoType.", "enum": [ "EXCLUSION_TYPE_UNSPECIFIED", "EXCLUSION_TYPE_EXCLUDE" diff --git a/discovery/documentai-v1.json b/discovery/documentai-v1.json index 0f12c58b8a3..472994c3826 100644 --- a/discovery/documentai-v1.json +++ b/discovery/documentai-v1.json @@ -15,6 +15,43 @@ "description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/document-ai/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.eu.rep.googleapis.com/", + "location": "eu" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -189,7 +226,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "documentai.projects.locations.list", @@ -1122,7 +1159,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema.", + "description": "Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema.", "location": "query", "type": "string" }, @@ -1159,7 +1196,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1302,7 +1339,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", + "description": "Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", "location": "query", "type": "string" }, @@ -1339,7 +1376,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1394,7 +1431,7 @@ } } }, - "revision": "20260118", + "revision": "20260203", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { @@ -1418,7 +1455,7 @@ "$ref": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule" }, "description": { - "description": "Description of the validation rule. This has no use but for documentation", + "description": "Description of the validation rule. This has no use but for documentation.", "type": "string" }, "entityAlignmentRule": { @@ -2033,7 +2070,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -2079,10 +2116,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -2185,7 +2222,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -2266,7 +2303,7 @@ "id": "GoogleCloudDocumentaiUiv1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -2886,11 +2923,11 @@ "id": "GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -3100,7 +3137,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "entityTypes": { @@ -3706,7 +3743,7 @@ "type": "array" }, "entitiesRevisionId": { - "description": "The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", + "description": "The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", "type": "string" }, "entitiesRevisions": { @@ -4103,7 +4140,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`.", "type": "string" }, "method": { @@ -4122,7 +4159,7 @@ }, "normalizedValue": { "$ref": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", - "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." + "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types." }, "pageAnchor": { "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchor", @@ -4148,7 +4185,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Required. Entity type from a schema, for example, `Address`.", "type": "string" } }, @@ -4426,7 +4463,7 @@ "type": "array" }, "visualElements": { - "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "A list of detected non-text visual elements, for example, checkbox, signature etc. on the page.", "items": { "$ref": "GoogleCloudDocumentaiV1DocumentPageVisualElement" }, @@ -4588,7 +4625,7 @@ }, "fieldName": { "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." + "description": "Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc." }, "fieldValue": { "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", @@ -4689,7 +4726,7 @@ "description": "The bounding polygon for the Layout." }, "confidence": { - "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", + "description": "Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", "format": "float", "type": "number" }, @@ -5014,7 +5051,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1DocumentPageVisualElement": { - "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "Detected non-text visual elements, for example, checkbox, signature etc. on the page.", "id": "GoogleCloudDocumentaiV1DocumentPageVisualElement", "properties": { "detectedLanguages": { @@ -5167,7 +5204,7 @@ "id": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", "properties": { "state": { - "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", + "description": "Human review state. For example, `requested`, `succeeded`, `rejected`.", "type": "string" }, "stateMessage": { @@ -5186,7 +5223,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -5224,10 +5261,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -5322,7 +5359,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -5568,6 +5605,13 @@ "name": { "description": "The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}`", "type": "string" + }, + "revisions": { + "description": "Contains all revisions of the evaluation, excluding the latest one.", + "items": { + "$ref": "GoogleCloudDocumentaiV1EvaluationEvaluationRevision" + }, + "type": "array" } }, "type": "object" @@ -5615,12 +5659,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1EvaluationEvaluationRevision": { + "description": "A revision of the evaluation.", + "id": "GoogleCloudDocumentaiV1EvaluationEvaluationRevision", + "properties": { + "allEntitiesMetrics": { + "$ref": "GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics", + "description": "Output only. Metrics for all the entities in aggregate.", + "readOnly": true + }, + "documentCounters": { + "$ref": "GoogleCloudDocumentaiV1EvaluationCounters", + "description": "Output only. Counters for the documents used in the evaluation.", + "readOnly": true + }, + "entityMetrics": { + "additionalProperties": { + "$ref": "GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics" + }, + "description": "Output only. Metrics across confidence levels, for different entities.", + "readOnly": true, + "type": "object" + }, + "revisionId": { + "description": "Output only. The revision ID of the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1EvaluationMetrics": { "description": "Evaluation metrics, either in aggregate or about a specific entity.", "id": "GoogleCloudDocumentaiV1EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -6023,7 +6097,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the Schema.", + "description": "Optional. The {{gcp_name_short}} labels for the Schema.", "type": "object" }, "name": { @@ -6624,11 +6698,11 @@ "id": "GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -6795,7 +6869,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the SchemaVersion.", + "description": "Optional. The {{gcp_name_short}} labels for the SchemaVersion.", "type": "object" }, "name": { @@ -7226,10 +7300,6 @@ "readOnly": true, "type": "boolean" }, - "spannerIndexingConfig": { - "$ref": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "description": "Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search." - }, "state": { "description": "Required. State of the dataset. Ignored when updating dataset.", "enum": [ @@ -7281,12 +7351,6 @@ }, "type": "object" }, - "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig": { - "description": "Configuration specific to spanner-based indexing.", - "id": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "properties": {}, - "type": "object" - }, "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig": { "description": "Configuration specific to an unmanaged dataset.", "id": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", @@ -7404,7 +7468,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -7450,10 +7514,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -7556,7 +7620,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -7617,7 +7681,7 @@ "id": "GoogleCloudDocumentaiV1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -8114,11 +8178,11 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } diff --git a/discovery/documentai-v1beta3.json b/discovery/documentai-v1beta3.json index 267dc01b226..10088ae28f7 100644 --- a/discovery/documentai-v1beta3.json +++ b/discovery/documentai-v1beta3.json @@ -15,6 +15,43 @@ "description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/document-ai/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.eu.rep.googleapis.com/", + "location": "eu" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -160,7 +197,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta3/projects/{projectsId}/locations", "httpMethod": "GET", "id": "documentai.projects.locations.list", @@ -1393,7 +1430,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema.", + "description": "Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema.", "location": "query", "type": "string" }, @@ -1430,7 +1467,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1573,7 +1610,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", + "description": "Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", "location": "query", "type": "string" }, @@ -1610,7 +1647,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1636,7 +1673,7 @@ } } }, - "revision": "20260118", + "revision": "20260203", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { @@ -1660,7 +1697,7 @@ "$ref": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule" }, "description": { - "description": "Description of the validation rule. This has no use but for documentation", + "description": "Description of the validation rule. This has no use but for documentation.", "type": "string" }, "entityAlignmentRule": { @@ -2275,7 +2312,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -2321,10 +2358,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -2427,7 +2464,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -2508,7 +2545,7 @@ "id": "GoogleCloudDocumentaiUiv1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -3128,11 +3165,11 @@ "id": "GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -3342,7 +3379,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "entityTypes": { @@ -4402,10 +4439,6 @@ "readOnly": true, "type": "boolean" }, - "spannerIndexingConfig": { - "$ref": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "description": "Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search." - }, "state": { "description": "Required. State of the dataset. Ignored when updating dataset.", "enum": [ @@ -4482,12 +4515,6 @@ }, "type": "object" }, - "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig": { - "description": "Configuration specific to spanner-based indexing.", - "id": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "properties": {}, - "type": "object" - }, "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig": { "description": "Configuration specific to an unmanaged dataset.", "id": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", @@ -4567,7 +4594,7 @@ "id": "GoogleCloudDocumentaiV1beta3Document", "properties": { "blobAssets": { - "description": "Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id.", + "description": "Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset id.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentBlobAsset" }, @@ -4598,7 +4625,7 @@ "type": "array" }, "entitiesRevisionId": { - "description": "The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", + "description": "The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", "type": "string" }, "entitiesRevisions": { @@ -4683,7 +4710,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentBlobAsset": { - "description": "Represents a blob asset. It's used to store the content of the inline blob in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id.", + "description": "Represents a blob asset. It's used to store the content of the inline blob in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset ID.", "id": "GoogleCloudDocumentaiV1beta3DocumentBlobAsset", "properties": { "assetId": { @@ -4691,7 +4718,7 @@ "type": "string" }, "content": { - "description": "Optional. The content of the blob asset, e.g. image bytes.", + "description": "Optional. The content of the blob asset, for example, image bytes.", "format": "byte", "type": "string" }, @@ -4764,7 +4791,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField": { - "description": "The chunk field in the chunk. A chunk field could be one of the various types (e.g. image, table) supported.", + "description": "The chunk field in the chunk. A chunk field could be one of the various types (for example, image, table) supported.", "id": "GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField", "properties": { "imageChunkField": { @@ -5125,7 +5152,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`.", "type": "string" }, "method": { @@ -5144,7 +5171,7 @@ }, "normalizedValue": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentEntityNormalizedValue", - "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." + "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types." }, "pageAnchor": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageAnchor", @@ -5170,7 +5197,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Required. Entity type from a schema, for example, `Address`.", "type": "string" } }, @@ -5546,7 +5573,7 @@ "type": "array" }, "visualElements": { - "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "A list of detected non-text visual elements, for example, checkbox, signature etc. on the page.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement" }, @@ -5708,7 +5735,7 @@ }, "fieldName": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", - "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." + "description": "Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc." }, "fieldValue": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", @@ -5809,7 +5836,7 @@ "description": "The bounding polygon for the Layout." }, "confidence": { - "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", + "description": "Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", "format": "float", "type": "number" }, @@ -6134,7 +6161,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement": { - "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "Detected non-text visual elements, for example, checkbox, signature etc. on the page.", "id": "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement", "properties": { "detectedLanguages": { @@ -6287,7 +6314,7 @@ "id": "GoogleCloudDocumentaiV1beta3DocumentRevisionHumanReview", "properties": { "state": { - "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", + "description": "Human review state. For example, `requested`, `succeeded`, `rejected`.", "type": "string" }, "stateMessage": { @@ -6306,7 +6333,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -6352,10 +6379,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -6458,7 +6485,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -6715,6 +6742,13 @@ "name": { "description": "The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}`", "type": "string" + }, + "revisions": { + "description": "Contains all revisions of the evaluation, excluding the latest one.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision" + }, + "type": "array" } }, "type": "object" @@ -6762,12 +6796,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision": { + "description": "A revision of the evaluation.", + "id": "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision", + "properties": { + "allEntitiesMetrics": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics", + "description": "Output only. Metrics for all the entities in aggregate.", + "readOnly": true + }, + "documentCounters": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationCounters", + "description": "Output only. Counters for the documents used in the evaluation.", + "readOnly": true + }, + "entityMetrics": { + "additionalProperties": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics" + }, + "description": "Output only. Metrics across confidence levels, for different entities.", + "readOnly": true, + "type": "object" + }, + "revisionId": { + "description": "Output only. The revision ID of the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3EvaluationMetrics": { "description": "Evaluation metrics, either in aggregate or about a specific entity.", "id": "GoogleCloudDocumentaiV1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -7422,7 +7486,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the Schema.", + "description": "Optional. The {{gcp_name_short}} labels for the Schema.", "type": "object" }, "name": { @@ -7623,7 +7687,7 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig", "properties": { "breakpointPercentileThreshold": { - "description": "Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. THIS FIELD IS NOT YET USED.", + "description": "Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. **Note:** This field is not yet used.", "format": "int32", "type": "integer" }, @@ -7637,7 +7701,7 @@ "type": "boolean" }, "semanticChunkingGroupSize": { - "description": "Optional. The number of tokens to group together when evaluating semantic similarity. THIS FIELD IS NOT YET USED.", + "description": "Optional. The number of tokens to group together when evaluating semantic similarity. **Note:** This field is not yet used.", "type": "boolean" } }, @@ -8054,11 +8118,11 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -8310,7 +8374,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the SchemaVersion.", + "description": "Optional. The {{gcp_name_short}} labels for the SchemaVersion.", "type": "object" }, "name": { diff --git a/discovery/domains-v1.json b/discovery/domains-v1.json index d71cb1b321e..6b373d43d78 100644 --- a/discovery/domains-v1.json +++ b/discovery/domains-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "domains.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -241,6 +241,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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": "v1/{+name}/operations", @@ -971,7 +976,7 @@ } } }, - "revision": "20250918", + "revision": "20260126", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1630,6 +1635,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/domains-v1alpha2.json b/discovery/domains-v1alpha2.json index bec4062178e..12bd78dfba8 100644 --- a/discovery/domains-v1alpha2.json +++ b/discovery/domains-v1alpha2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "domains.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -241,6 +241,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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": "v1alpha2/{+name}/operations", @@ -971,7 +976,7 @@ } } }, - "revision": "20250918", + "revision": "20260126", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1630,6 +1635,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/domains-v1beta1.json b/discovery/domains-v1beta1.json index 51bcc5934ff..bb83c450d09 100644 --- a/discovery/domains-v1beta1.json +++ b/discovery/domains-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "domains.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -241,6 +241,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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", @@ -971,7 +976,7 @@ } } }, - "revision": "20250918", + "revision": "20260126", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1630,6 +1635,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/eventarc-v1.json b/discovery/eventarc-v1.json index 590c535df3e..f5ff14b674b 100644 --- a/discovery/eventarc-v1.json +++ b/discovery/eventarc-v1.json @@ -16,6 +16,241 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/eventarc", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, { "description": "Regional Endpoint", "endpointUrl": "https://eventarc.us.rep.googleapis.com/", @@ -2392,7 +2627,7 @@ } } }, - "revision": "20260130", + "revision": "20260206", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/discovery/file-v1.json b/discovery/file-v1.json index d259c95f8a8..f84db7a0ab9 100644 --- a/discovery/file-v1.json +++ b/discovery/file-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "file.projects.locations.list", @@ -969,7 +969,7 @@ } } }, - "revision": "20260114", + "revision": "20260201", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { diff --git a/discovery/file-v1beta1.json b/discovery/file-v1beta1.json index 6e03eb4109f..f503d25fe7f 100644 --- a/discovery/file-v1beta1.json +++ b/discovery/file-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "file.projects.locations.list", @@ -1136,7 +1136,7 @@ } } }, - "revision": "20260114", + "revision": "20260201", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { diff --git a/discovery/firebaseappcheck-v1.json b/discovery/firebaseappcheck-v1.json index cb571b93723..25c705217cf 100644 --- a/discovery/firebaseappcheck-v1.json +++ b/discovery/firebaseappcheck-v1.json @@ -1661,7 +1661,7 @@ } } }, - "revision": "20250901", + "revision": "20260207", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1AppAttestConfig": { @@ -2361,16 +2361,16 @@ "id": "GoogleFirebaseAppcheckV1ResourcePolicy", "properties": { "enforcementMode": { - "description": "Required. The App Check enforcement mode for this resource. This will override the EnforcementMode setting on the service.", + "description": "Required. The App Check enforcement mode for this resource. This will override the App Check overall EnforcementMode setting on the service.", "enum": [ "OFF", "UNENFORCED", "ENFORCED" ], "enumDescriptions": [ - "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", - "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", - "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." + "The relevant App Check protection is not enforced for the service or resource, nor are App Check metrics collected. Though the relevant App Check protection is not applied, other applicable protections, such as user authorization, are still enforced. An unconfigured protection is in this mode by default.", + "The relevant App Check protection is not enforced for the service or resource. App Check metrics are collected to help you decide when to turn on enforcement. These metrics will show the portion of traffic that is deemed invalid by the relevant App Check protection, but that traffic will not be rejected until you turn on enforcement. Though the relevant App Check protection is not enforced, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", + "The relevant App Check protection is enforced for the service or resource. The service or resource will reject any traffic not accompanied by an App Check token that is deemded valid by the relevant protection. There are some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check protections. If your users have not updated to a version of your app that meets the requirements of the relevant App Check protection, their app may stop working. App Check metrics can help you decide whether to enforce App Check on your services and resources. If your app has not launched yet, you should enable enforcement as soon as you verify that your App Check implementation is correct, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." ], "type": "string" }, @@ -2424,9 +2424,9 @@ "ENFORCED" ], "enumDescriptions": [ - "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", - "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", - "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." + "The relevant App Check protection is not enforced for the service or resource, nor are App Check metrics collected. Though the relevant App Check protection is not applied, other applicable protections, such as user authorization, are still enforced. An unconfigured protection is in this mode by default.", + "The relevant App Check protection is not enforced for the service or resource. App Check metrics are collected to help you decide when to turn on enforcement. These metrics will show the portion of traffic that is deemed invalid by the relevant App Check protection, but that traffic will not be rejected until you turn on enforcement. Though the relevant App Check protection is not enforced, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", + "The relevant App Check protection is enforced for the service or resource. The service or resource will reject any traffic not accompanied by an App Check token that is deemded valid by the relevant protection. There are some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check protections. If your users have not updated to a version of your app that meets the requirements of the relevant App Check protection, their app may stop working. App Check metrics can help you decide whether to enforce App Check on your services and resources. If your app has not launched yet, you should enable enforcement as soon as you verify that your App Check implementation is correct, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." ], "type": "string" }, diff --git a/discovery/firebaseappcheck-v1beta.json b/discovery/firebaseappcheck-v1beta.json index 9f13e42f1b1..d27992fc8db 100644 --- a/discovery/firebaseappcheck-v1beta.json +++ b/discovery/firebaseappcheck-v1beta.json @@ -1823,7 +1823,7 @@ } } }, - "revision": "20260110", + "revision": "20260207", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1betaAppAttestConfig": { @@ -2619,9 +2619,9 @@ "ENFORCED" ], "enumDescriptions": [ - "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", - "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", - "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." + "The relevant App Check protection is not enforced for the service or resource, nor are App Check metrics collected. Though the relevant App Check protection is not applied, other applicable protections, such as user authorization, are still enforced. An unconfigured protection is in this mode by default.", + "The relevant App Check protection is not enforced for the service or resource. App Check metrics are collected to help you decide when to turn on enforcement. These metrics will show the portion of traffic that is deemed invalid by the relevant App Check protection, but that traffic will not be rejected until you turn on enforcement. Though the relevant App Check protection is not enforced, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", + "The relevant App Check protection is enforced for the service or resource. The service or resource will reject any traffic not accompanied by an App Check token that is deemded valid by the relevant protection. There are some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check protections. If your users have not updated to a version of your app that meets the requirements of the relevant App Check protection, their app may stop working. App Check metrics can help you decide whether to enforce App Check on your services and resources. If your app has not launched yet, you should enable enforcement as soon as you verify that your App Check implementation is correct, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." ], "type": "string" }, @@ -2675,9 +2675,9 @@ "ENFORCED" ], "enumDescriptions": [ - "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", - "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", - "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." + "The relevant App Check protection is not enforced for the service or resource, nor are App Check metrics collected. Though the relevant App Check protection is not applied, other applicable protections, such as user authorization, are still enforced. An unconfigured protection is in this mode by default.", + "The relevant App Check protection is not enforced for the service or resource. App Check metrics are collected to help you decide when to turn on enforcement. These metrics will show the portion of traffic that is deemed invalid by the relevant App Check protection, but that traffic will not be rejected until you turn on enforcement. Though the relevant App Check protection is not enforced, other applicable protections, such as user authorization, are still enforced. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `UNENFORCED` setting will have no effect and App Check will not work with that service.", + "The relevant App Check protection is enforced for the service or resource. The service or resource will reject any traffic not accompanied by an App Check token that is deemded valid by the relevant protection. There are some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check protections. If your users have not updated to a version of your app that meets the requirements of the relevant App Check protection, their app may stop working. App Check metrics can help you decide whether to enforce App Check on your services and resources. If your app has not launched yet, you should enable enforcement as soon as you verify that your App Check implementation is correct, since there are no outdated clients in use. Some services require certain conditions to be met before they will work with App Check, such as requiring you to upgrade to a specific service tier. Until those requirements are met for a service, this `ENFORCED` setting will have no effect and App Check will not work with that service." ], "type": "string" }, diff --git a/discovery/firebasedataconnect-v1.json b/discovery/firebasedataconnect-v1.json index 17afbedaa2c..c4e5aeacd5b 100644 --- a/discovery/firebasedataconnect-v1.json +++ b/discovery/firebasedataconnect-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firebasedataconnect.projects.locations.list", @@ -1165,7 +1165,7 @@ } } }, - "revision": "20260111", + "revision": "20260201", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1174,6 +1174,21 @@ "properties": {}, "type": "object" }, + "ClientCache": { + "description": "Client caching settings of a connector.", + "id": "ClientCache", + "properties": { + "entityIdIncluded": { + "description": "Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as \"normalized caching\", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information.", + "type": "boolean" + }, + "strictValidationEnabled": { + "description": "Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.)", + "type": "boolean" + } + }, + "type": "object" + }, "CloudSqlInstance": { "description": "Settings for CloudSQL instance configuration.", "id": "CloudSqlInstance", @@ -1196,6 +1211,10 @@ "description": "Optional. Stores small amounts of arbitrary data.", "type": "object" }, + "clientCache": { + "$ref": "ClientCache", + "description": "Optional. The client cache settings of the connector." + }, "createTime": { "description": "Output only. [Output only] Create time stamp.", "format": "google-datetime", @@ -1245,6 +1264,36 @@ }, "type": "object" }, + "DataConnectProperties": { + "description": "Data Connect specific properties for a path under response.data.", + "id": "DataConnectProperties", + "properties": { + "entityId": { + "description": "A single Entity ID. Set if the path points to a single entity.", + "type": "string" + }, + "entityIds": { + "description": "A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "The server-suggested duration before data under path is considered stale.", + "format": "google-duration", + "type": "string" + }, + "path": { + "description": "The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, "Datasource": { "description": "A data source that backs Firebase Data Connect services.", "id": "Datasource", @@ -1303,6 +1352,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1344,6 +1397,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1525,11 +1582,29 @@ "type": "object" }, "errors": { - "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", + "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors .", "items": { "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions ." + } + }, + "type": "object" + }, + "GraphqlResponseExtensions": { + "description": "GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`.", + "id": "GraphqlResponseExtensions", + "properties": { + "dataConnect": { + "description": "Data Connect specific GraphQL extension, a list of paths and properties.", + "items": { + "$ref": "DataConnectProperties" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/firebasedataconnect-v1beta.json b/discovery/firebasedataconnect-v1beta.json index 2ab59bcb75e..5a020d8ca69 100644 --- a/discovery/firebasedataconnect-v1beta.json +++ b/discovery/firebasedataconnect-v1beta.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firebasedataconnect.projects.locations.list", @@ -1165,7 +1165,7 @@ } } }, - "revision": "20260111", + "revision": "20260201", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1174,6 +1174,21 @@ "properties": {}, "type": "object" }, + "ClientCache": { + "description": "Client caching settings of a connector.", + "id": "ClientCache", + "properties": { + "entityIdIncluded": { + "description": "Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as \"normalized caching\", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information.", + "type": "boolean" + }, + "strictValidationEnabled": { + "description": "Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.)", + "type": "boolean" + } + }, + "type": "object" + }, "CloudSqlInstance": { "description": "Settings for CloudSQL instance configuration.", "id": "CloudSqlInstance", @@ -1196,6 +1211,10 @@ "description": "Optional. Stores small amounts of arbitrary data.", "type": "object" }, + "clientCache": { + "$ref": "ClientCache", + "description": "Optional. The client cache settings of the connector." + }, "createTime": { "description": "Output only. [Output only] Create time stamp.", "format": "google-datetime", @@ -1245,6 +1264,36 @@ }, "type": "object" }, + "DataConnectProperties": { + "description": "Data Connect specific properties for a path under response.data.", + "id": "DataConnectProperties", + "properties": { + "entityId": { + "description": "A single Entity ID. Set if the path points to a single entity.", + "type": "string" + }, + "entityIds": { + "description": "A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "The server-suggested duration before data under path is considered stale.", + "format": "google-duration", + "type": "string" + }, + "path": { + "description": "The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, "Datasource": { "description": "A data source that backs Firebase Data Connect services.", "id": "Datasource", @@ -1303,6 +1352,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1344,6 +1397,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1525,11 +1582,29 @@ "type": "object" }, "errors": { - "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", + "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors .", "items": { "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions ." + } + }, + "type": "object" + }, + "GraphqlResponseExtensions": { + "description": "GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`.", + "id": "GraphqlResponseExtensions", + "properties": { + "dataConnect": { + "description": "Data Connect specific GraphQL extension, a list of paths and properties.", + "items": { + "$ref": "DataConnectProperties" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/firebaseml-v2beta.json b/discovery/firebaseml-v2beta.json index 9c60fb20961..4c07908c525 100644 --- a/discovery/firebaseml-v2beta.json +++ b/discovery/firebaseml-v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20260201", + "revision": "20260215", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -978,6 +978,22 @@ }, "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", "type": "object" + }, + "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" @@ -1554,7 +1570,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1GroundingChunkMaps": { - "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps. It contains information about a place, such as its name, address, and reviews. This is used to provide the user with rich, location-based information.", + "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps, containing information about places or routes. This is used to provide the user with rich, location-based information.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkMaps", "properties": { "placeAnswerSources": { diff --git a/discovery/firestore-v1.json b/discovery/firestore-v1.json index 30145447a5e..7e2688afc8e 100644 --- a/discovery/firestore-v1.json +++ b/discovery/firestore-v1.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -2284,7 +2304,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firestore.projects.locations.list", @@ -2425,7 +2445,7 @@ } } }, - "revision": "20260116", + "revision": "20260212", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -3265,7 +3285,7 @@ "type": "string" }, "name": { - "description": "Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`.", + "description": "Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. The location in the name will be the Standard Managed Multi-Region (SMMR) location (e.g. `us`) if the backup was created with an SMMR location, or the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup was created with a GMMR location.", "readOnly": true, "type": "string" }, @@ -4455,15 +4475,7 @@ "GoogleFirestoreAdminV1LocationMetadata": { "description": "The metadata message for google.cloud.location.Location.metadata.", "id": "GoogleFirestoreAdminV1LocationMetadata", - "properties": { - "availableStoragePlacements": { - "description": "The storage placements available in the location. When the location represents a Standard Managed Multi-Region (SMMR) like \"us\", this field lists the available Google-Managed Multi-Regions (GMMRs) within it, such as \"nam5\" or \"eur3\".", - "items": { - "type": "string" - }, - "type": "array" - } - }, + "properties": {}, "type": "object" }, "GoogleFirestoreAdminV1PitrSnapshot": { @@ -4649,7 +4661,7 @@ "type": "object" }, "GoogleFirestoreAdminV1TtlConfig": { - "description": "The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document.", + "description": "The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. For Enterprise edition databases, the timestamp value may also be stored in an array value in the TTL-enabled field. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document.", "id": "GoogleFirestoreAdminV1TtlConfig", "properties": { "state": { diff --git a/discovery/firestore-v1beta1.json b/discovery/firestore-v1beta1.json index 57a3bd456e8..9ef80f0c782 100644 --- a/discovery/firestore-v1beta1.json +++ b/discovery/firestore-v1beta1.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -1421,7 +1441,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/firestore-v1beta2.json b/discovery/firestore-v1beta2.json index 33a38b441be..d159a27a243 100644 --- a/discovery/firestore-v1beta2.json +++ b/discovery/firestore-v1beta2.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -857,7 +877,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/gmailpostmastertools-v2.json b/discovery/gmailpostmastertools-v2.json new file mode 100644 index 00000000000..1843bcf8441 --- /dev/null +++ b/discovery/gmailpostmastertools-v2.json @@ -0,0 +1,834 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/postmaster": { + "description": "Get email traffic metrics, manage domains, and manage domain users for the domains you have registered with Postmaster Tools" + }, + "https://www.googleapis.com/auth/postmaster.domain": { + "description": "View and manage the domains you have registered with Postmaster Tools" + }, + "https://www.googleapis.com/auth/postmaster.traffic.readonly": { + "description": "Get email traffic metrics for the domains you have registered with Postmaster Tools" + } + } + } + }, + "basePath": "", + "baseUrl": "https://gmailpostmastertools.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Postmaster Tools", + "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/workspace/gmail/postmaster", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gmailpostmastertools:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gmailpostmastertools.mtls.googleapis.com/", + "name": "gmailpostmastertools", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "domainStats": { + "methods": { + "batchQuery": { + "description": "Executes a batch of QueryDomainStats requests for multiple domains. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for any of the requested domains.", + "flatPath": "v2/domainStats:batchQuery", + "httpMethod": "POST", + "id": "gmailpostmastertools.domainStats.batchQuery", + "parameterOrder": [], + "parameters": {}, + "path": "v2/domainStats:batchQuery", + "request": { + "$ref": "BatchQueryDomainStatsRequest" + }, + "response": { + "$ref": "BatchQueryDomainStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + } + } + }, + "domains": { + "methods": { + "get": { + "description": "Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.", + "flatPath": "v2/domains/{domainsId}", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.domain" + ] + }, + "getComplianceStatus": { + "description": "Retrieves the compliance status for a given domain. Returns PERMISSION_DENIED if you don't have permission to access compliance status for the domain.", + "flatPath": "v2/domains/{domainsId}/complianceStatus", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.getComplianceStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the domain's compliance status to retrieve. Format: `domains/{domain_id}/complianceStatus`.", + "location": "path", + "pattern": "^domains/[^/]+/complianceStatus$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "DomainComplianceStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + }, + "list": { + "description": "Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.", + "flatPath": "v2/domains", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer domains than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200.", + "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" + } + }, + "path": "v2/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.domain" + ] + } + }, + "resources": { + "domainStats": { + "methods": { + "query": { + "description": "Retrieves a list of domain statistics for a given domain and time period. Returns statistics only for dates where data is available. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for the domain.", + "flatPath": "v2/domains/{domainsId}/domainStats:query", + "httpMethod": "POST", + "id": "gmailpostmastertools.domains.domainStats.query", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/domainStats:query", + "request": { + "$ref": "QueryDomainStatsRequest" + }, + "response": { + "$ref": "QueryDomainStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + } + } + } + } + } + }, + "revision": "20260209", + "rootUrl": "https://gmailpostmastertools.googleapis.com/", + "schemas": { + "BaseMetric": { + "description": "Specifies the base metric to query, which can be a predefined standard metric or a user-defined custom metric (if supported in the future).", + "id": "BaseMetric", + "properties": { + "standardMetric": { + "description": "A predefined standard metric.", + "enum": [ + "STANDARD_METRIC_UNSPECIFIED", + "FEEDBACK_LOOP_ID", + "FEEDBACK_LOOP_SPAM_RATE", + "SPAM_RATE", + "AUTH_SUCCESS_RATE", + "TLS_ENCRYPTION_MESSAGE_COUNT", + "TLS_ENCRYPTION_RATE", + "DELIVERY_ERROR_COUNT", + "DELIVERY_ERROR_RATE" + ], + "enumDescriptions": [ + "Unspecified standard metric. This value should not be used directly.", + "Predefined metric for Feedback Loop (FBL) id.", + "Predefined metric for Feedback Loop (FBL) spam rate. Filter must be of type feedback_loop_id = \"\" where is one valid feedback loop ids.", + "Predefined metric for spam rate.", + "The success rate of authentication mechanisms (DKIM, SPF, DMARC). Filter must be of type auth_type = \"\" where is one of: [spf, dkim, dmarc]", + "The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]", + "The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]", + "The total count of delivery errors encountered (temporary or permanent rejects). The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]", + "Delivery error rate for the specified delivery error type. The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]" + ], + "type": "string" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsRequest": { + "description": "Request message for BatchQueryDomainStats.", + "id": "BatchQueryDomainStatsRequest", + "properties": { + "requests": { + "description": "Required. A list of individual query requests. Each request can be for a different domain. A maximum of 100 requests can be included in a single batch.", + "items": { + "$ref": "QueryDomainStatsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsResponse": { + "description": "Response message for BatchQueryDomainStats.", + "id": "BatchQueryDomainStatsResponse", + "properties": { + "results": { + "description": "A list of responses, one for each query in the BatchQueryDomainStatsRequest. The order of responses will correspond to the order of requests.", + "items": { + "$ref": "BatchQueryDomainStatsResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsResult": { + "description": "Represents the result of a single QueryDomainStatsRequest within a batch.", + "id": "BatchQueryDomainStatsResult", + "properties": { + "error": { + "$ref": "Status", + "description": "The error status if the individual query failed." + }, + "response": { + "$ref": "QueryDomainStatsResponse", + "description": "The successful response for the individual query." + } + }, + "type": "object" + }, + "ComplianceRowData": { + "description": "Data for a single row of the compliance status table.", + "id": "ComplianceRowData", + "properties": { + "requirement": { + "description": "The compliance requirement.", + "enum": [ + "COMPLIANCE_REQUIREMENT_UNSPECIFIED", + "SPF", + "DKIM", + "SPF_AND_DKIM", + "DMARC_POLICY", + "DMARC_ALIGNMENT", + "MESSAGE_FORMATTING", + "DNS_RECORDS", + "ENCRYPTION", + "USER_REPORTED_SPAM_RATE", + "ONE_CLICK_UNSUBSCRIBE", + "HONOR_UNSUBSCRIBE" + ], + "enumDescriptions": [ + "Unspecified.", + "Whether the sender has properly configured SPF.", + "Whether the sender has properly configured DKIM.", + "Whether the sender has properly configured both SPF and DKIM.", + "Whether the sender has configured DMARC policy.", + "Whether the From: header is aligned with DKIM or SPF", + "Whether messages are correctly formatted according to RFC 5322.", + "Whether the domain has forward and reverse DNS records.", + "Whether messages has TLS encryption.", + "Whether the sender is below a threshold for user-reported spam rate.", + "Whether the sender sufficiently supports one-click unsubscribe. Note that the user-facing requirement is \"one-click unsubscribe\", but we require satisfaction of multiple \"unsubscribe support\" rules.", + "Whether the sender honors user-initiated unsubscribe requests." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status for the requirement." + } + }, + "type": "object" + }, + "ComplianceStatus": { + "description": "The status of a sender compliance requirement.", + "id": "ComplianceStatus", + "properties": { + "status": { + "description": "Output only. The compliance status.", + "enum": [ + "STATE_UNSPECIFIED", + "COMPLIANT", + "NEEDS_WORK" + ], + "enumDescriptions": [ + "Unspecified.", + "The compliance requirement is met, and the sender is deemed compliant.", + "The compliance requirement is unmet, and the sender needs to do work to achieve compliance." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateList": { + "description": "A set of specific dates.", + "id": "DateList", + "properties": { + "dates": { + "description": "Required. The list of specific dates for which to retrieve data.", + "items": { + "$ref": "Date" + }, + "type": "array" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A single date range defined by a start and end date.", + "id": "DateRange", + "properties": { + "end": { + "$ref": "Date", + "description": "Required. The inclusive end date of the date range." + }, + "start": { + "$ref": "Date", + "description": "Required. The inclusive start date of the date range." + } + }, + "type": "object" + }, + "DateRanges": { + "description": "A set of date ranges.", + "id": "DateRanges", + "properties": { + "dateRanges": { + "description": "Required. The list of date ranges for which to retrieve data.", + "items": { + "$ref": "DateRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "Domain": { + "description": "Information about a domain registered by the user.", + "id": "Domain", + "properties": { + "createTime": { + "description": "Output only. Immutable. The timestamp at which the domain was added to the user's account.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastVerifyTime": { + "description": "The timestamp at which the domain was last verified by the user.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).", + "type": "string" + }, + "permission": { + "description": "Output only. User's permission of this domain.", + "enum": [ + "PERMISSION_UNSPECIFIED", + "READER", + "OWNER", + "NONE" + ], + "enumDescriptions": [ + "Unspecified permission.", + "User has read access to the domain.", + "User has owner access to the domain.", + "User has no access to the domain." + ], + "readOnly": true, + "type": "string" + }, + "verificationState": { + "description": "Output only. Information about a user's verification history and properties for the domain.", + "enum": [ + "VERIFICATION_STATE_UNSPECIFIED", + "UNVERIFIED", + "VERIFIED" + ], + "enumDescriptions": [ + "Unspecified.", + "The domain is unverified.", + "The domain is verified." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DomainComplianceData": { + "description": "Compliance data for a given domain.", + "id": "DomainComplianceData", + "properties": { + "domainId": { + "description": "Domain that this data is for.", + "type": "string" + }, + "honorUnsubscribeVerdict": { + "$ref": "HonorUnsubscribeVerdict", + "description": "Unsubscribe honoring compliance verdict." + }, + "oneClickUnsubscribeVerdict": { + "$ref": "OneClickUnsubscribeVerdict", + "description": "One-click unsubscribe compliance verdict." + }, + "rowData": { + "description": "Data for each of the rows of the table. Each message contains all the data that backs a single row.", + "items": { + "$ref": "ComplianceRowData" + }, + "type": "array" + } + }, + "type": "object" + }, + "DomainComplianceStatus": { + "description": "Compliance status for a domain.", + "id": "DomainComplianceStatus", + "properties": { + "complianceData": { + "$ref": "DomainComplianceData", + "description": "Compliance data for the registrable domain part of the domain in `name`. For example, if `name` is `domains/example.com/complianceStatus`, this field contains compliance data for `example.com`." + }, + "name": { + "description": "Identifier. The resource name of the domain's compliance status. Format: `domains/{domain_id}/complianceStatus`.", + "type": "string" + }, + "subdomainComplianceData": { + "$ref": "DomainComplianceData", + "description": "Compliance data calculated specifically for the subdomain in `name`. This field is only populated if the domain in `name` is a subdomain that differs from its registrable domain (e.g., `sub.example.com`), and if compliance data is available for that specific subdomain." + } + }, + "type": "object" + }, + "DomainStat": { + "description": "Email statistics for a domain for a specified time period or date.", + "id": "DomainStat", + "properties": { + "date": { + "$ref": "Date", + "description": "Optional. The specific date for these stats, if granularity is DAILY. This field is populated if the QueryDomainStatsRequest specified a DAILY aggregation granularity." + }, + "metric": { + "description": "The user-defined name from MetricDefinition.name in the request, used to correlate this result with the requested metric.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the DomainStat resource. Format: domains/{domain}/domainStats/{domain_stat} The `{domain_stat}` segment is an opaque, server-generated ID. We recommend using the `metric` field to identify queried metrics instead of parsing the name.", + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "StatisticValue", + "description": "The value of the corresponding metric." + } + }, + "type": "object" + }, + "HonorUnsubscribeVerdict": { + "description": "Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement.", + "id": "HonorUnsubscribeVerdict", + "properties": { + "reason": { + "description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.", + "enum": [ + "REASON_UNSPECIFIED", + "NOT_HONORING", + "NOT_HONORING_TOO_FEW_CAMPAIGNS", + "NOT_HONORING_TOO_MANY_CAMPAIGNS" + ], + "enumDescriptions": [ + "Unspecified.", + "The sender does not honor unsubscribe requests.", + "The sender does not honor unsubscribe requests and consider to increase the number of relevant campaigns.", + "The sender does not honor unsubscribe requests and consider to reduce the number of relevant campaigns." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status." + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "description": "Response message for ListDomains.", + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "The domains that have been registered by the user.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "MetricDefinition": { + "description": "Defines a specific metric to query, including a user-defined name, the base metric type, and optional filters.", + "id": "MetricDefinition", + "properties": { + "baseMetric": { + "$ref": "BaseMetric", + "description": "Required. The underlying metric to query." + }, + "filter": { + "description": "Optional. Optional filters to apply to the metric.", + "type": "string" + }, + "name": { + "description": "Required. The user-defined name for this metric. This name will be used as the key for this metric's value in the response.", + "type": "string" + } + }, + "type": "object" + }, + "OneClickUnsubscribeVerdict": { + "description": "Compliance verdict for whether a sender meets the one-click unsubscribe compliance requirement.", + "id": "OneClickUnsubscribeVerdict", + "properties": { + "reason": { + "description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.", + "enum": [ + "REASON_UNSPECIFIED", + "NO_UNSUB_GENERAL", + "NO_UNSUB_SPAM_REPORTS", + "NO_UNSUB_PROMO_SPAM_REPORTS" + ], + "enumDescriptions": [ + "Unspecified.", + "Sender does not support one-click unsubscribe for the majority of their messages.", + "Sender does not support one-click unsubscribe for most messages that are manually reported as spam.", + "Sender does not support one-click unsubscribe for most promotional messages that are manually reported as spam. This classification of messages is a subset of those encompassed by `NO_UNSUB_SPAM_REPORTS`." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status." + } + }, + "type": "object" + }, + "QueryDomainStatsRequest": { + "description": "Request message for QueryDomainStats.", + "id": "QueryDomainStatsRequest", + "properties": { + "aggregationGranularity": { + "description": "Optional. The granularity at which to aggregate the statistics. If unspecified, defaults to DAILY.", + "enum": [ + "AGGREGATION_GRANULARITY_UNSPECIFIED", + "DAILY", + "OVERALL" + ], + "enumDescriptions": [ + "Unspecified granularity. Defaults to DAILY.", + "Statistics are aggregated on a daily basis. Each DomainStats entry in the response will correspond to a single day.", + "Statistics are aggregated over the entire requested time period. Each DomainStats entry in the response will represent the total for the period." + ], + "type": "string" + }, + "metricDefinitions": { + "description": "Required. The specific metrics to query. You can define a custom name for each metric, which will be used in the response.", + "items": { + "$ref": "MetricDefinition" + }, + "type": "array" + }, + "pageSize": { + "description": "Optional. The maximum number of DomainStats resources to return in the response. The server may return fewer than this value. If unspecified, a default value of 10 will be used. The maximum value is 200.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any. If the aggregation granularity is DAILY, the page token will be the encoded date + \"/\" + metric name. If the aggregation granularity is OVERALL, the page token will be the encoded metric name.", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}", + "type": "string" + }, + "timeQuery": { + "$ref": "TimeQuery", + "description": "Required. The time range or specific dates for which to retrieve the metrics." + } + }, + "type": "object" + }, + "QueryDomainStatsResponse": { + "description": "Response message for QueryDomainStats.", + "id": "QueryDomainStatsResponse", + "properties": { + "domainStats": { + "description": "The list of domain statistics. Each DomainStat object contains the value for a metric requested in the QueryDomainStatsRequest.", + "items": { + "$ref": "DomainStat" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "StatisticValue": { + "description": "The actual value of a statistic.", + "id": "StatisticValue", + "properties": { + "doubleValue": { + "description": "Double value.", + "format": "double", + "type": "number" + }, + "floatValue": { + "description": "Float value.", + "format": "float", + "type": "number" + }, + "intValue": { + "description": "Integer value.", + "format": "int64", + "type": "string" + }, + "stringList": { + "$ref": "StringList", + "description": "List of string values." + }, + "stringValue": { + "description": "String value.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StringList": { + "description": "Represents a list of strings.", + "id": "StringList", + "properties": { + "values": { + "description": "The string values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TimeQuery": { + "description": "The date ranges or specific dates for which you want to retrieve data.", + "id": "TimeQuery", + "properties": { + "dateList": { + "$ref": "DateList", + "description": "A list of specific dates." + }, + "dateRanges": { + "$ref": "DateRanges", + "description": "A list of date ranges." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gmail Postmaster Tools API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/discovery/hypercomputecluster-v1.json b/discovery/hypercomputecluster-v1.json index b8afd721da9..5d8dbaa2602 100644 --- a/discovery/hypercomputecluster-v1.json +++ b/discovery/hypercomputecluster-v1.json @@ -12,7 +12,7 @@ "baseUrl": "https://hypercomputecluster.googleapis.com/", "batchPath": "batch", "canonicalName": "Hypercompute Cluster", - "description": "", + "description": "The Cluster Director API allows you to deploy, manage, and monitor clusters that run AI, ML, or HPC workloads.", "discoveryVersion": "v1", "documentationLink": "https://docs.cloud.google.com/cluster-director/docs", "fullyEncodeReservedExpansion": true, @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "hypercomputecluster.projects.locations.list", @@ -498,7 +498,7 @@ } } }, - "revision": "20260121", + "revision": "20260204", "rootUrl": "https://hypercomputecluster.googleapis.com/", "schemas": { "BootDisk": { @@ -1321,16 +1321,16 @@ "type": "string" }, "terminationAction": { - "description": "Optional. Specifies the termination action of the instance", + "description": "Optional. Termination action for the instance. If not specified, Compute Engine sets the termination action to DELETE.", "enum": [ "TERMINATION_ACTION_UNSPECIFIED", "STOP", "DELETE" ], "enumDescriptions": [ - "Unspecified termination action", - "Stop the instance", - "Delete the instance" + "Not set.", + "Compute Engine stops the Spot VM on preemption.", + "Compute Engine deletes the Spot VM on preemption." ], "type": "string" }, @@ -1421,7 +1421,7 @@ "type": "object" }, "OperationProgress": { - "description": "Message describing the progress of a cluster mutation long-running operation. operation.", + "description": "Message describing the progress of a cluster mutation long-running operation.", "id": "OperationProgress", "properties": { "steps": { @@ -1648,7 +1648,7 @@ "id": "SlurmNodeSet", "properties": { "computeId": { - "description": "Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's [compute_resources](Cluster.compute_resources).", + "description": "Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's compute_resources.", "type": "string" }, "computeInstance": { @@ -1699,14 +1699,14 @@ "description": "Required. Configuration for login nodes, which allow users to access the cluster over SSH." }, "nodeSets": { - "description": "Required. Configuration of Slurm nodesets, which define groups of compute resources that can be used by Slurm. At least one compute node is required.", + "description": "Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes.", "items": { "$ref": "SlurmNodeSet" }, "type": "array" }, "partitions": { - "description": "Required. Configuration of Slurm partitions, which group one or more nodesets. Acts as a queue against which jobs can be submitted. At least one partition is required.", + "description": "Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster.", "items": { "$ref": "SlurmPartition" }, @@ -1772,7 +1772,7 @@ "id": "StorageConfig", "properties": { "id": { - "description": "Required. ID of the storage resource to mount, which must match a key in the cluster's [storage_resources](Cluster.storage_resources).", + "description": "Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources.", "type": "string" }, "localMount": { diff --git a/discovery/iam-v1.json b/discovery/iam-v1.json index a94924d2bf2..3f434484e0f 100644 --- a/discovery/iam-v1.json +++ b/discovery/iam-v1.json @@ -4160,7 +4160,7 @@ } } }, - "revision": "20260123", + "revision": "20260213", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AccessRestrictions": { @@ -4546,14 +4546,12 @@ "enum": [ "ATTRIBUTES_TYPE_UNSPECIFIED", "AZURE_AD_GROUPS_MAIL", - "AZURE_AD_GROUPS_ID", - "AZURE_AD_GROUPS_DISPLAY_NAME" + "AZURE_AD_GROUPS_ID" ], "enumDescriptions": [ "No AttributesType specified.", "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group mail addresses of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`", - "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `id` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group IDs of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`", - "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `displayName` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The display names of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`" + "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `id` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group IDs of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`" ], "type": "string" }, @@ -6340,7 +6338,7 @@ }, "extraAttributesOauth2Client": { "$ref": "GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client", - "description": "Optional. The configuration for OAuth 2.0 client used to get the additional user attributes. This should be used when users can't get the desired claims in authentication credentials. Currently, this configuration is only supported with OIDC protocol." + "description": "Optional. Defines the configuration for the OAuth 2.0 client that is used to get the additional user attributes in a separate backchannel call to the identity provider. This should be used when users can't get the required claims in authentication credentials. Currently, the OAuth 2.0 protocol is the only supported authorization method for this backchannel call." }, "name": { "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", @@ -6559,12 +6557,14 @@ "enum": [ "MODE_UNSPECIFIED", "FEDERATION_ONLY", - "TRUST_DOMAIN" + "TRUST_DOMAIN", + "SYSTEM_TRUST_DOMAIN" ], "enumDescriptions": [ "State unspecified. New pools should not use this mode. Pools with an unspecified mode will operate as if they are in federation-only mode.", - "Federation-only mode. Federation-only pools can only be used for federating external workload identities into Google Cloud. Unless otherwise noted, no structure or format constraints are applied to workload identities in a federation-only pool, and you cannot create any resources within the pool besides providers.", - "Trust-domain mode. Trust-domain pools can be used to assign identities to Google Cloud workloads. All identities within a trust-domain pool must consist of a single namespace and individual workload identifier. The subject identifier for all identities must conform to the following format: `ns//sa/` WorkloadIdentityPoolProviders cannot be created within trust-domain pools." + "Federation-only mode. FEDERATION_ONLY mode pools can only be used for federating external workload identities into Google Cloud. Unless otherwise noted, no structure or format constraints are applied to workload identities in a FEDERATION_ONLY mode pool, and you cannot create any resources within the pool besides providers.", + "Trust-domain mode. TRUST_DOMAIN mode pools can be used to assign identities to Google Cloud workloads. Identities within a TRUST_DOMAIN mode pool share the same root of trust. WorkloadIdentityPoolProviders cannot be created within trust-domain pools.", + "SYSTEM_TRUST_DOMAIN mode pools are managed by Google Cloud services. Neither WorkloadIdentityPoolNamespaces nor WorkloadIdentityPoolProviders can be created within SYSTEM_TRUST_DOMAIN mode pools. All identities within a SYSTEM_TRUST_DOMAIN mode pool are in one of the following formats: * `spiffe:///ns//sa/` * `spiffe:///resources//`" ], "type": "string" }, diff --git a/discovery/iap-v1.json b/discovery/iap-v1.json index 99dcb7834ff..0874d533a8e 100644 --- a/discovery/iap-v1.json +++ b/discovery/iap-v1.json @@ -682,7 +682,7 @@ } } }, - "revision": "20251013", + "revision": "20260209", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -1098,6 +1098,19 @@ "description": "Configuration for OAuth login&consent flow behavior as well as for OAuth Credentials.", "id": "OAuthSettings", "properties": { + "clientId": { + "description": "Optional. OAuth 2.0 client ID used in the OAuth flow to generate an access token. If this field is set, you can skip obtaining the OAuth credentials in this step: https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here: https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.", + "type": "string" + }, + "clientSecret": { + "description": "Optional. Input only. OAuth secret paired with client ID", + "type": "string" + }, + "clientSecretSha256": { + "description": "Output only. OAuth secret sha256 paired with client ID", + "readOnly": true, + "type": "string" + }, "loginHint": { "description": "Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies.", "type": "string" diff --git a/discovery/index.json b/discovery/index.json index 2e9722d26ce..fb02692ee3c 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -1200,6 +1200,36 @@ "title": "Certificate Manager API", "version": "v1" }, + { + "description": "", + "discoveryRestUrl": "https://ces.googleapis.com/$discovery/rest?version=v1beta", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "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": "ces:v1beta", + "kind": "discovery#directoryItem", + "name": "ces", + "preferred": false, + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1beta" + }, + { + "description": "", + "discoveryRestUrl": "https://ces.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "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": "ces:v1", + "kind": "discovery#directoryItem", + "name": "ces", + "preferred": true, + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1" + }, { "description": "The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.", "discoveryRestUrl": "https://chat.googleapis.com/$discovery/rest?version=v1", @@ -3781,10 +3811,25 @@ "id": "gmailpostmastertools:v1", "kind": "discovery#directoryItem", "name": "gmailpostmastertools", - "preferred": true, + "preferred": false, "title": "Gmail Postmaster Tools API", "version": "v1" }, + { + "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryRestUrl": "https://gmailpostmastertools.googleapis.com/$discovery/rest?version=v2", + "documentationLink": "https://developers.google.com/workspace/gmail/postmaster", + "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": "gmailpostmastertools:v2", + "kind": "discovery#directoryItem", + "name": "gmailpostmastertools", + "preferred": true, + "title": "Gmail Postmaster Tools API", + "version": "v2" + }, { "description": "The Groups Migration API allows domain administrators to archive emails into Google groups.", "discoveryRestUrl": "https://groupsmigration.googleapis.com/$discovery/rest?version=v1", @@ -4220,21 +4265,6 @@ "title": "Enterprise License Manager API", "version": "v1" }, - { - "description": "Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.", - "discoveryRestUrl": "https://lifesciences.googleapis.com/$discovery/rest?version=v2beta", - "documentationLink": "https://cloud.google.com/life-sciences", - "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": "lifesciences:v2beta", - "kind": "discovery#directoryItem", - "name": "lifesciences", - "preferred": true, - "title": "Cloud Life Sciences API", - "version": "v2beta" - }, { "description": "", "discoveryRestUrl": "https://localservices.googleapis.com/$discovery/rest?version=v1", @@ -6879,7 +6909,7 @@ { "description": "threatintelligence.googleapis.com API.", "discoveryRestUrl": "https://threatintelligence.googleapis.com/$discovery/rest?version=v1beta", - "documentationLink": "https://cloud.google.com/threatintelligence/docs/reference/rest", + "documentationLink": "https://docs.cloud.google.com/threatintelligence/", "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" diff --git a/discovery/kmsinventory-v1.json b/discovery/kmsinventory-v1.json index 86def180c16..9d681f3d0ed 100644 --- a/discovery/kmsinventory-v1.json +++ b/discovery/kmsinventory-v1.json @@ -141,7 +141,7 @@ "type": "string" }, "scope": { - "description": "Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/12345678\") * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")", + "description": "Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/12345678\") * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -286,7 +286,7 @@ "type": "string" }, "scope": { - "description": "Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/12345678\") * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")", + "description": "Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/12345678\") * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -306,7 +306,7 @@ } } }, - "revision": "20260201", + "revision": "20260216", "rootUrl": "https://kmsinventory.googleapis.com/", "schemas": { "GoogleCloudKmsInventoryV1ListCryptoKeysResponse": { @@ -453,7 +453,7 @@ "type": "object" }, "GoogleCloudKmsInventoryV1Warning": { - "description": "Warning message specifying various states of response data that might indicate incomplete or partial results.", + "description": "A warning message that indicates potential problems with the response data.", "id": "GoogleCloudKmsInventoryV1Warning", "properties": { "displayMessage": { @@ -470,9 +470,9 @@ ], "enumDescriptions": [ "Default value. This value is unused.", - "Indicates that the caller or service agent lacks necessary permissions to view some of the requested data. The response may be partial. Examples: - KMS organization service agent {service_agent_name} lacks the `cloudasset.assets.searchAllResources` permission on the scope.", - "Indicates that a resource limit has been exceeded, resulting in partial data. Examples: - The project has more than 10,000 assets (resources, crypto keys, key handles, IAM policies, etc).", - "Indicates that the project is org-less. Thus the analysis is only done for the project level data and results might be partial." + "Indicates that the caller or service agent lacks necessary permissions to view some of the requested data. The response may be partial. Example: - KMS organization service agent {service_agent_name} lacks the `cloudasset.assets.searchAllResources` permission on the scope.", + "Indicates that a resource limit has been exceeded, resulting in partial data. Example: - The project has more than 10,000 assets (resources, crypto keys, key handles, IAM policies, etc).", + "Indicates that the project exists outside of an organization resource. Thus the analysis is only done for the project level data and results might be partial." ], "type": "string" } diff --git a/discovery/lifesciences-v2beta.json b/discovery/lifesciences-v2beta.json deleted file mode 100644 index 0395aa46750..00000000000 --- a/discovery/lifesciences-v2beta.json +++ /dev/null @@ -1,1225 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - } - } - } - }, - "basePath": "", - "baseUrl": "https://lifesciences.googleapis.com/", - "batchPath": "batch", - "canonicalName": "Cloud Life Sciences", - "description": "Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.", - "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/life-sciences", - "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": "lifesciences:v2beta", - "kind": "discovery#restDescription", - "mtlsRootUrl": "https://lifesciences.mtls.googleapis.com/", - "name": "lifesciences", - "ownerDomain": "google.com", - "ownerName": "Google", - "parameters": { - "$.xgafv": { - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, - "alt": { - "default": "json", - "description": "Data format for response.", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "type": "string" - }, - "callback": { - "description": "JSONP", - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "projects": { - "resources": { - "locations": { - "methods": { - "get": { - "description": "Gets information about a location.", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}", - "httpMethod": "GET", - "id": "lifesciences.projects.locations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Resource name for the location.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+name}", - "response": { - "$ref": "Location" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists information about the supported locations for this service.", - "flatPath": "v2beta/projects/{projectsId}/locations", - "httpMethod": "GET", - "id": "lifesciences.projects.locations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "extraLocationTypes": { - "description": "Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations.", - "location": "query", - "repeated": true, - "type": "string" - }, - "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", - "location": "query", - "type": "string" - }, - "name": { - "description": "The resource that owns the locations collection, if applicable.", - "location": "path", - "pattern": "^projects/[^/]+$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of results to return. If not set, the service selects a default.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", - "location": "query", - "type": "string" - } - }, - "path": "v2beta/{+name}/locations", - "response": { - "$ref": "ListLocationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "operations": { - "methods": { - "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.cancel`", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", - "httpMethod": "POST", - "id": "lifesciences.projects.locations.operations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+name}:cancel", - "request": { - "$ref": "CancelOperationRequest" - }, - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.get`", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - "httpMethod": "GET", - "id": "lifesciences.projects.locations.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.list`", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations", - "httpMethod": "GET", - "id": "lifesciences.projects.locations.operations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "filter": { - "description": "A string for filtering Operations. The following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of results to return. The maximum value is 256.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "path": "v2beta/{+name}/operations", - "response": { - "$ref": "ListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "pipelines": { - "methods": { - "run": { - "description": "Runs a pipeline. The returned Operation's metadata field will contain a google.cloud.lifesciences.v2beta.Metadata object describing the status of the pipeline execution. The response field will contain a google.cloud.lifesciences.v2beta.RunPipelineResponse object if the pipeline completes successfully. **Note:** Before you can use this method, the *Life Sciences Service Agent* must have access to your project. This is done automatically when the Cloud Life Sciences API is first enabled, but if you delete this permission you must disable and re-enable the API to grant the Life Sciences Service Agent the required permissions. Authorization requires the following [Google IAM](https://cloud.google.com/iam/) permission: * `lifesciences.workflows.run`", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/pipelines:run", - "httpMethod": "POST", - "id": "lifesciences.projects.locations.pipelines.run", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "The project and location that this request should be executed against.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+parent}/pipelines:run", - "request": { - "$ref": "RunPipelineRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - } - } - } - }, - "revision": "20250411", - "rootUrl": "https://lifesciences.googleapis.com/", - "schemas": { - "Accelerator": { - "description": "Carries information about an accelerator that can be attached to a VM.", - "id": "Accelerator", - "properties": { - "count": { - "description": "How many accelerators of this type to attach.", - "format": "int64", - "type": "string" - }, - "type": { - "description": "The accelerator type string (for example, \"nvidia-tesla-t4\"). Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is attached, the required runtime libraries will be made available to all containers under `/usr/local/nvidia`. The driver version to install must be specified using the NVIDIA driver version parameter on the virtual machine specification. Note that attaching a GPU increases the worker VM startup time by a few minutes.", - "type": "string" - } - }, - "type": "object" - }, - "Action": { - "description": "Specifies a single action that runs a Docker container.", - "id": "Action", - "properties": { - "alwaysRun": { - "description": "By default, after an action fails, no further actions are run. This flag indicates that this action must be run even if the pipeline has already failed. This is useful for actions that copy output files off of the VM or for debugging. Note that no actions will be run if image prefetching fails.", - "type": "boolean" - }, - "blockExternalNetwork": { - "description": "Prevents the container from accessing the external network.", - "type": "boolean" - }, - "commands": { - "description": "If specified, overrides the `CMD` specified in the container. If the container also has an `ENTRYPOINT` the values are used as entrypoint arguments. Otherwise, they are used as a command and arguments to run inside the container.", - "items": { - "type": "string" - }, - "type": "array" - }, - "containerName": { - "description": "An optional name for the container. The container hostname will be set to this name, making it useful for inter-container communication. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", - "type": "string" - }, - "credentials": { - "$ref": "Secret", - "description": "If the specified image is hosted on a private registry other than Google Container Registry, the credentials required to pull the image must be specified here as an encrypted secret. The secret must decrypt to a JSON-encoded dictionary containing both `username` and `password` keys." - }, - "disableImagePrefetch": { - "description": "All container images are typically downloaded before any actions are executed. This helps prevent typos in URIs or issues like lack of disk space from wasting large amounts of compute resources. If set, this flag prevents the worker from downloading the image until just before the action is executed.", - "type": "boolean" - }, - "disableStandardErrorCapture": { - "description": "A small portion of the container's standard error stream is typically captured and returned inside the `ContainerStoppedEvent`. Setting this flag disables this functionality.", - "type": "boolean" - }, - "enableFuse": { - "description": "Enable access to the FUSE device for this action. Filesystems can then be mounted into disks shared with other actions. The other actions do not need the `enable_fuse` flag to access the mounted filesystem. This has the effect of causing the container to be executed with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only for containers you trust.", - "type": "boolean" - }, - "encryptedEnvironment": { - "$ref": "Secret", - "description": "The encrypted environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field." - }, - "entrypoint": { - "description": "If specified, overrides the `ENTRYPOINT` specified in the container.", - "type": "string" - }, - "environment": { - "additionalProperties": { - "type": "string" - }, - "description": "The environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. In addition to the values passed here, a few other values are automatically injected into the environment. These cannot be hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to \"1\" if the pipeline failed because an action has exited with a non-zero status (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-background action that executed. This can be used by workflow engine authors to determine whether an individual action has succeeded or failed.", - "type": "object" - }, - "ignoreExitStatus": { - "description": "Normally, a non-zero exit status causes the pipeline to fail. This flag allows execution of other actions to continue instead.", - "type": "boolean" - }, - "imageUri": { - "description": "Required. The URI to pull the container image from. Note that all images referenced by actions in the pipeline are pulled before the first action runs. If multiple actions reference the same image, it is only pulled once, ensuring that the same image is used for all actions in a single pipeline. The image URI can be either a complete host and image specification (e.g., quay.io/biocontainers/samtools), a library and image name (e.g., google/cloud-sdk) or a bare image name ('bash') to pull from the default library. No schema is required in any of these cases. If the specified image is not public, the service account specified for the Virtual Machine must have access to pull the images from GCR, or appropriate credentials must be specified in the google.cloud.lifesciences.v2beta.Action.credentials field.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels to associate with the action. This field is provided to assist workflow engine authors in identifying actions (for example, to indicate what sort of action they perform, such as localization or debugging). They are returned in the operation metadata, but are otherwise ignored.", - "type": "object" - }, - "mounts": { - "description": "A list of mounts to make available to the action. In addition to the values specified here, every action has a special virtual disk mounted under `/google` that contains log files and other operational components. - /google/logs All logs written during the pipeline execution. - /google/logs/output The combined standard output and standard error of all actions run as part of the pipeline execution. - /google/logs/action/*/stdout The complete contents of each individual action's standard output. - /google/logs/action/*/stderr The complete contents of each individual action's standard error output. ", - "items": { - "$ref": "Mount" - }, - "type": "array" - }, - "pidNamespace": { - "description": "An optional identifier for a PID namespace to run the action inside. Multiple actions should use the same string to share a namespace. If unspecified, a separate isolated namespace is used.", - "type": "string" - }, - "portMappings": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "A map of containers to host port mappings for this container. If the container already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less than 65536. If it is zero, an unused random port is assigned. To determine the resulting port number, consult the `ContainerStartedEvent` in the operation metadata.", - "type": "object" - }, - "publishExposedPorts": { - "description": "Exposes all ports specified by `EXPOSE` statements in the container. To discover the host side port numbers, consult the `ACTION_STARTED` event in the operation metadata.", - "type": "boolean" - }, - "runInBackground": { - "description": "This flag allows an action to continue running in the background while executing subsequent actions. This is useful to provide services to other actions (or to provide debugging support tools like SSH servers).", - "type": "boolean" - }, - "timeout": { - "description": "The maximum amount of time to give the action to complete. If the action fails to complete before the timeout, it will be terminated and the exit status will be non-zero. The pipeline will continue or terminate based on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "id": "CancelOperationRequest", - "properties": {}, - "type": "object" - }, - "ContainerKilledEvent": { - "description": "An event generated when a container is forcibly terminated by the worker. Currently, this only occurs when the container outlives the timeout specified by the user.", - "id": "ContainerKilledEvent", - "properties": { - "actionId": { - "description": "The numeric ID of the action that started the container.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ContainerStartedEvent": { - "description": "An event generated when a container starts.", - "id": "ContainerStartedEvent", - "properties": { - "actionId": { - "description": "The numeric ID of the action that started this container.", - "format": "int32", - "type": "integer" - }, - "ipAddress": { - "description": "The public IP address that can be used to connect to the container. This field is only populated when at least one port mapping is present. If the instance was created with a private address, this field will be empty even if port mappings exist.", - "type": "string" - }, - "portMappings": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "The container-to-host port mappings installed for this container. This set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action` definition.", - "type": "object" - } - }, - "type": "object" - }, - "ContainerStoppedEvent": { - "description": "An event generated when a container exits.", - "id": "ContainerStoppedEvent", - "properties": { - "actionId": { - "description": "The numeric ID of the action that started this container.", - "format": "int32", - "type": "integer" - }, - "exitStatus": { - "description": "The exit status of the container.", - "format": "int32", - "type": "integer" - }, - "stderr": { - "description": "The tail end of any content written to standard error by the container. If the content emits large amounts of debugging noise or contains sensitive information, you can prevent the content from being printed by setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a small amount of the end of the stream is captured here. The entire stream is stored in the `/google/logs` directory mounted into each action, and can be copied off the machine as described elsewhere.", - "type": "string" - } - }, - "type": "object" - }, - "DelayedEvent": { - "description": "An event generated whenever a resource limitation or transient error delays execution of a pipeline that was otherwise ready to run.", - "id": "DelayedEvent", - "properties": { - "cause": { - "description": "A textual description of the cause of the delay. The string can change without notice because it is often generated by another service (such as Compute Engine).", - "type": "string" - }, - "metrics": { - "description": "If the delay was caused by a resource shortage, this field lists the Compute Engine metrics that are preventing this operation from running (for example, `CPUS` or `INSTANCES`). If the particular metric is not known, a single `UNKNOWN` metric will be present.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Disk": { - "description": "Carries information about a disk that can be attached to a VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations. Specify either `Volume` or `Disk`, but not both.", - "id": "Disk", - "properties": { - "name": { - "description": "A user-supplied name for the disk. Used when mounting the disk into actions. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", - "type": "string" - }, - "sizeGb": { - "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.", - "format": "int32", - "type": "integer" - }, - "sourceImage": { - "description": "An optional image to put on the disk before attaching it to the VM.", - "type": "string" - }, - "type": { - "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.", - "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" - }, - "Event": { - "description": "Carries information about events that occur during pipeline execution.", - "id": "Event", - "properties": { - "containerKilled": { - "$ref": "ContainerKilledEvent", - "description": "See google.cloud.lifesciences.v2beta.ContainerKilledEvent." - }, - "containerStarted": { - "$ref": "ContainerStartedEvent", - "description": "See google.cloud.lifesciences.v2beta.ContainerStartedEvent." - }, - "containerStopped": { - "$ref": "ContainerStoppedEvent", - "description": "See google.cloud.lifesciences.v2beta.ContainerStoppedEvent." - }, - "delayed": { - "$ref": "DelayedEvent", - "description": "See google.cloud.lifesciences.v2beta.DelayedEvent." - }, - "description": { - "description": "A human-readable description of the event. Note that these strings can change at any time without notice. Any application logic must use the information in the `details` field.", - "type": "string" - }, - "failed": { - "$ref": "FailedEvent", - "description": "See google.cloud.lifesciences.v2beta.FailedEvent." - }, - "pullStarted": { - "$ref": "PullStartedEvent", - "description": "See google.cloud.lifesciences.v2beta.PullStartedEvent." - }, - "pullStopped": { - "$ref": "PullStoppedEvent", - "description": "See google.cloud.lifesciences.v2beta.PullStoppedEvent." - }, - "timestamp": { - "description": "The time at which the event occurred.", - "format": "google-datetime", - "type": "string" - }, - "unexpectedExitStatus": { - "$ref": "UnexpectedExitStatusEvent", - "description": "See google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent." - }, - "workerAssigned": { - "$ref": "WorkerAssignedEvent", - "description": "See google.cloud.lifesciences.v2beta.WorkerAssignedEvent." - }, - "workerReleased": { - "$ref": "WorkerReleasedEvent", - "description": "See google.cloud.lifesciences.v2beta.WorkerReleasedEvent." - } - }, - "type": "object" - }, - "ExistingDisk": { - "description": "Configuration for an existing disk to be attached to the VM.", - "id": "ExistingDisk", - "properties": { - "disk": { - "description": "If `disk` contains slashes, the Cloud Life Sciences API assumes that it is a complete URL for the disk. If `disk` does not contain slashes, the Cloud Life Sciences API assumes that the disk is a zonal disk and a URL will be generated of the form `zones//disks/`, where `` is the zone in which the instance is allocated. The disk must be ext4 formatted. If all `Mount` references to this disk have the `read_only` flag set to true, the disk will be attached in `read-only` mode and can be shared with other instances. Otherwise, the disk will be available for writing but cannot be shared.", - "type": "string" - } - }, - "type": "object" - }, - "FailedEvent": { - "description": "An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event.", - "id": "FailedEvent", - "properties": { - "cause": { - "description": "The human-readable description of the cause of the failure.", - "type": "string" - }, - "code": { - "description": "The Google standard error code that best describes this failure.", - "enum": [ - "OK", - "CANCELLED", - "UNKNOWN", - "INVALID_ARGUMENT", - "DEADLINE_EXCEEDED", - "NOT_FOUND", - "ALREADY_EXISTS", - "PERMISSION_DENIED", - "UNAUTHENTICATED", - "RESOURCE_EXHAUSTED", - "FAILED_PRECONDITION", - "ABORTED", - "OUT_OF_RANGE", - "UNIMPLEMENTED", - "INTERNAL", - "UNAVAILABLE", - "DATA_LOSS" - ], - "enumDescriptions": [ - "Not an error; returned on success. HTTP Mapping: 200 OK", - "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", - "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", - "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", - "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", - "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", - "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", - "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", - "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", - "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", - "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", - "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", - "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", - "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", - "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", - "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", - "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" - ], - "type": "string" - } - }, - "type": "object" - }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", - "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", - "items": { - "$ref": "Location" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - }, - "type": "object" - }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" - } - }, - "type": "object" - }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", - "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" - }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", - "type": "string" - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" - }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", - "type": "string" - } - }, - "type": "object" - }, - "Metadata": { - "description": "Carries information about the pipeline execution that is returned in the long running operation's metadata field.", - "id": "Metadata", - "properties": { - "createTime": { - "description": "The time at which the operation was created by the API.", - "format": "google-datetime", - "type": "string" - }, - "endTime": { - "description": "The time at which execution was completed and resources were cleaned up.", - "format": "google-datetime", - "type": "string" - }, - "events": { - "description": "The list of events that have happened so far during the execution of this operation.", - "items": { - "$ref": "Event" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The user-defined labels associated with this operation.", - "type": "object" - }, - "pipeline": { - "$ref": "Pipeline", - "description": "The pipeline this operation represents." - }, - "pubSubTopic": { - "description": "The name of the Cloud Pub/Sub topic where notifications of operation status changes are sent.", - "type": "string" - }, - "startTime": { - "description": "The first time at which resources were allocated to execute the pipeline.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "Mount": { - "description": "Carries information about a particular disk mount inside a container.", - "id": "Mount", - "properties": { - "disk": { - "description": "The name of the disk to mount, as specified in the resources section.", - "type": "string" - }, - "path": { - "description": "The path to mount the disk inside the container.", - "type": "string" - }, - "readOnly": { - "description": "If true, the disk is mounted read-only inside the container.", - "type": "boolean" - } - }, - "type": "object" - }, - "NFSMount": { - "description": "Configuration for an `NFSMount` to be attached to the VM.", - "id": "NFSMount", - "properties": { - "target": { - "description": "A target NFS mount. The target must be specified as `address:/mount\".", - "type": "string" - } - }, - "type": "object" - }, - "Network": { - "description": "VM networking options.", - "id": "Network", - "properties": { - "network": { - "description": "The network name to attach the VM's network interface to. The value will be prefixed with `global/networks/` unless it contains a `/`, in which case it is assumed to be a fully specified network resource URL. If unspecified, the global default network is used.", - "type": "string" - }, - "subnetwork": { - "description": "If the specified network is configured for custom subnet creation, the name of the subnetwork to attach the instance to must be specified here. The value is prefixed with `regions/*/subnetworks/` unless it contains a `/`, in which case it is assumed to be a fully specified subnetwork resource URL. If the `*` character appears in the value, it is replaced with the region that the virtual machine has been allocated in.", - "type": "string" - }, - "usePrivateAddress": { - "description": "If set to true, do not attach a public IP address to the VM. Note that without a public IP address, additional configuration is required to allow the VM to access Google services. See https://cloud.google.com/vpc/docs/configure-private-google-access for more information.", - "type": "boolean" - } - }, - "type": "object" - }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", - "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "An Metadata object. This will always be returned with the Operation.", - "type": "object" - }, - "name": { - "description": "The server-assigned name for the operation. This may be passed to the other operation methods to retrieve information about the operation's status.", - "type": "string" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "An Empty object.", - "type": "object" - } - }, - "type": "object" - }, - "PersistentDisk": { - "description": "Configuration for a persistent disk to be attached to the VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations.", - "id": "PersistentDisk", - "properties": { - "sizeGb": { - "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.", - "format": "int32", - "type": "integer" - }, - "sourceImage": { - "description": "An image to put on the disk before attaching it to the VM.", - "type": "string" - }, - "type": { - "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.", - "type": "string" - } - }, - "type": "object" - }, - "Pipeline": { - "description": "Specifies a series of actions to execute, expressed as Docker containers.", - "id": "Pipeline", - "properties": { - "actions": { - "description": "The list of actions to execute, in the order they are specified.", - "items": { - "$ref": "Action" - }, - "type": "array" - }, - "encryptedEnvironment": { - "$ref": "Secret", - "description": "The encrypted environment to pass into every action. Each action can also specify its own encrypted environment. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field." - }, - "environment": { - "additionalProperties": { - "type": "string" - }, - "description": "The environment to pass into every action. Each action can also specify additional environment variables but cannot delete an entry from this map (though they can overwrite it with a different value).", - "type": "object" - }, - "resources": { - "$ref": "Resources", - "description": "The resources required for execution." - }, - "timeout": { - "description": "The maximum amount of time to give the pipeline to complete. This includes the time spent waiting for a worker to be allocated. If the pipeline fails to complete before the timeout, it will be cancelled and the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will default to 7 days.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "PullStartedEvent": { - "description": "An event generated when the worker starts pulling an image.", - "id": "PullStartedEvent", - "properties": { - "imageUri": { - "description": "The URI of the image that was pulled.", - "type": "string" - } - }, - "type": "object" - }, - "PullStoppedEvent": { - "description": "An event generated when the worker stops pulling an image.", - "id": "PullStoppedEvent", - "properties": { - "imageUri": { - "description": "The URI of the image that was pulled.", - "type": "string" - } - }, - "type": "object" - }, - "Resources": { - "description": "The system resources for the pipeline run. At least one zone or region must be specified or the pipeline run will fail.", - "id": "Resources", - "properties": { - "regions": { - "description": "The list of regions allowed for VM allocation. If set, the `zones` field must not be set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "virtualMachine": { - "$ref": "VirtualMachine", - "description": "The virtual machine specification." - }, - "zones": { - "description": "The list of zones allowed for VM allocation. If set, the `regions` field must not be set.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RunPipelineRequest": { - "description": "The arguments to the `RunPipeline` method. The requesting user must have the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences service account or the request will fail.", - "id": "RunPipelineRequest", - "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "User-defined labels to associate with the returned operation. These labels are not propagated to any Google Cloud Platform resources used by the operation, and can be modified at any time. To associate labels with resources created while executing the operation, see the appropriate resource message (for example, `VirtualMachine`).", - "type": "object" - }, - "pipeline": { - "$ref": "Pipeline", - "description": "Required. The description of the pipeline to run." - }, - "pubSubTopic": { - "description": "The name of an existing Pub/Sub topic. The server will publish messages to this topic whenever the status of the operation changes. The Life Sciences Service Agent account must have publisher permissions to the specified topic or notifications will not be sent.", - "type": "string" - } - }, - "type": "object" - }, - "RunPipelineResponse": { - "description": "The response to the RunPipeline method, returned in the operation's result field on success.", - "id": "RunPipelineResponse", - "properties": {}, - "type": "object" - }, - "Secret": { - "description": "Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.", - "id": "Secret", - "properties": { - "cipherText": { - "description": "The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited.", - "type": "string" - }, - "keyName": { - "description": "The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key.", - "type": "string" - } - }, - "type": "object" - }, - "ServiceAccount": { - "description": "Carries information about a Google Cloud service account.", - "id": "ServiceAccount", - "properties": { - "email": { - "description": "Email address of the service account. If not specified, the default Compute Engine service account for the project will be used.", - "type": "string" - }, - "scopes": { - "description": "List of scopes to be enabled for this service account on the VM, in addition to the cloud-platform API scope that will be added by default.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "Status", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "type": "object" - }, - "UnexpectedExitStatusEvent": { - "description": "An event generated when the execution of a container results in a non-zero exit status that was not otherwise ignored. Execution will continue, but only actions that are flagged as `ALWAYS_RUN` will be executed. Other actions will be skipped.", - "id": "UnexpectedExitStatusEvent", - "properties": { - "actionId": { - "description": "The numeric ID of the action that started the container.", - "format": "int32", - "type": "integer" - }, - "exitStatus": { - "description": "The exit status of the container.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VirtualMachine": { - "description": "Carries information about a Compute Engine VM resource.", - "id": "VirtualMachine", - "properties": { - "accelerators": { - "description": "The list of accelerators to attach to the VM.", - "items": { - "$ref": "Accelerator" - }, - "type": "array" - }, - "bootDiskSizeGb": { - "description": "The size of the boot disk, in GB. The boot disk must be large enough to accommodate all of the Docker images from each action in the pipeline at the same time. If not specified, a small but reasonable default value is used.", - "format": "int32", - "type": "integer" - }, - "bootImage": { - "description": "The host operating system image to use. Currently, only Container-Optimized OS images can be used. The default value is `projects/cos-cloud/global/images/family/cos-stable`, which selects the latest stable release of Container-Optimized OS. This option is provided to allow testing against the beta release of the operating system to ensure that the new version does not interact negatively with production pipelines. To test a pipeline against the beta release of Container-Optimized OS, use the value `projects/cos-cloud/global/images/family/cos-beta`.", - "type": "string" - }, - "cpuPlatform": { - "description": "The CPU platform to request. An instance based on a newer platform can be allocated, but never one with fewer capabilities. The value of this parameter must be a valid Compute Engine CPU platform name (such as \"Intel Skylake\"). This parameter is only useful for carefully optimized work loads where the CPU platform has a significant impact. For more information about the effect of this parameter, see https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", - "type": "string" - }, - "disks": { - "description": "The list of disks to create and attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.", - "items": { - "$ref": "Disk" - }, - "type": "array" - }, - "dockerCacheImages": { - "description": "The Compute Engine Disk Images to use as a Docker cache. The disks will be mounted into the Docker folder in a way that the images present in the cache will not need to be pulled. The digests of the cached images must match those of the tags used or the latest version will still be pulled. The root directory of the ext4 image must contain `image` and `overlay2` directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported.", - "items": { - "type": "string" - }, - "type": "array" - }, - "enableStackdriverMonitoring": { - "description": "Whether Stackdriver monitoring should be enabled on the VM.", - "type": "boolean" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the [name and value restrictions](https://cloud.google.com/compute/docs/labeling-resources) on VM labels imposed by Compute Engine. Labels keys with the prefix 'google-' are reserved for use by Google. Labels applied at creation time to the VM. Applied on a best-effort basis to attached disk resources shortly after VM creation.", - "type": "object" - }, - "machineType": { - "description": "Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as \"n1-standard-1\") or a custom machine type (such as \"custom-1-4096\", where \"1\" indicates the number of vCPUs and \"4096\" indicates the memory in MB). See [Creating an instance with a custom machine type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) for more specifications on creating a custom machine type.", - "type": "string" - }, - "network": { - "$ref": "Network", - "description": "The VM network configuration." - }, - "nvidiaDriverVersion": { - "deprecated": true, - "description": "The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The version specified here must be compatible with the GPU libraries contained in the container being executed, and must be one of the drivers hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.", - "type": "string" - }, - "preemptible": { - "description": "If true, allocate a preemptible VM.", - "type": "boolean" - }, - "reservation": { - "description": "If specified, the VM will only be allocated inside the matching reservation. It will fail if the VM parameters don't match the reservation.", - "type": "string" - }, - "serviceAccount": { - "$ref": "ServiceAccount", - "description": "The service account to install on the VM. This account does not need any permissions other than those required by the pipeline." - }, - "volumes": { - "description": "The list of disks and other storage to create or attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.", - "items": { - "$ref": "Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Volume": { - "description": "Carries information about storage that can be attached to a VM. Specify either `Volume` or `Disk`, but not both.", - "id": "Volume", - "properties": { - "existingDisk": { - "$ref": "ExistingDisk", - "description": "Configuration for a existing disk." - }, - "nfsMount": { - "$ref": "NFSMount", - "description": "Configuration for an NFS mount." - }, - "persistentDisk": { - "$ref": "PersistentDisk", - "description": "Configuration for a persistent disk." - }, - "volume": { - "description": "A user-supplied name for the volume. Used when mounting the volume into `Actions`. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.", - "type": "string" - } - }, - "type": "object" - }, - "WorkerAssignedEvent": { - "description": "An event generated after a worker VM has been assigned to run the pipeline.", - "id": "WorkerAssignedEvent", - "properties": { - "instance": { - "description": "The worker's instance name.", - "type": "string" - }, - "machineType": { - "description": "The machine type that was assigned for the worker.", - "type": "string" - }, - "zone": { - "description": "The zone the worker is running in.", - "type": "string" - } - }, - "type": "object" - }, - "WorkerReleasedEvent": { - "description": "An event generated when the worker VM that was assigned to the pipeline has been released (deleted).", - "id": "WorkerReleasedEvent", - "properties": { - "instance": { - "description": "The worker's instance name.", - "type": "string" - }, - "zone": { - "description": "The zone the worker was running in.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "", - "title": "Cloud Life Sciences API", - "version": "v2beta", - "version_module": true -} \ No newline at end of file diff --git a/discovery/logging-v2.json b/discovery/logging-v2.json index 296f36e72d3..17d09f6153f 100644 --- a/discovery/logging-v2.json +++ b/discovery/logging-v2.json @@ -382,7 +382,7 @@ "billingAccounts": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/billingAccounts/{billingAccountsId}/cmekSettings", "httpMethod": "GET", "id": "logging.billingAccounts.getCmekSettings", @@ -410,7 +410,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/billingAccounts/{billingAccountsId}/settings", "httpMethod": "GET", "id": "logging.billingAccounts.getSettings", @@ -631,7 +631,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations", "httpMethod": "GET", "id": "logging.billingAccounts.locations.list", @@ -1598,7 +1598,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -1726,7 +1726,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -1863,7 +1863,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -1908,7 +1908,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -2184,7 +2184,7 @@ "folders": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/folders/{foldersId}/cmekSettings", "httpMethod": "GET", "id": "logging.folders.getCmekSettings", @@ -2212,7 +2212,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/folders/{foldersId}/settings", "httpMethod": "GET", "id": "logging.folders.getSettings", @@ -2240,7 +2240,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/folders/{foldersId}/settings", "httpMethod": "PATCH", "id": "logging.folders.updateSettings", @@ -2468,7 +2468,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/folders/{foldersId}/locations", "httpMethod": "GET", "id": "logging.folders.locations.list", @@ -3692,7 +3692,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -3820,7 +3820,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -3957,7 +3957,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -4002,7 +4002,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -4060,7 +4060,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/{v2Id}/{v2Id1}/locations", "httpMethod": "GET", "id": "logging.locations.list", @@ -4989,7 +4989,7 @@ "organizations": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "GET", "id": "logging.organizations.getCmekSettings", @@ -5017,7 +5017,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/organizations/{organizationsId}/settings", "httpMethod": "GET", "id": "logging.organizations.getSettings", @@ -5045,7 +5045,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "PATCH", "id": "logging.organizations.updateCmekSettings", @@ -5080,7 +5080,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/organizations/{organizationsId}/settings", "httpMethod": "PATCH", "id": "logging.organizations.updateSettings", @@ -5308,7 +5308,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/organizations/{organizationsId}/locations", "httpMethod": "GET", "id": "logging.organizations.locations.list", @@ -6532,7 +6532,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -6660,7 +6660,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -6797,7 +6797,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -6842,7 +6842,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -6872,7 +6872,7 @@ "projects": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/projects/{projectsId}/cmekSettings", "httpMethod": "GET", "id": "logging.projects.getCmekSettings", @@ -6900,7 +6900,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/projects/{projectsId}/settings", "httpMethod": "GET", "id": "logging.projects.getSettings", @@ -7121,7 +7121,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "logging.projects.locations.list", @@ -8345,7 +8345,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -8631,7 +8631,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -8768,7 +8768,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -8813,7 +8813,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -8864,7 +8864,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -9001,7 +9001,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -9029,7 +9029,7 @@ "v2": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "GET", "id": "logging.getCmekSettings", @@ -9057,7 +9057,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/settings", "httpMethod": "GET", "id": "logging.getSettings", @@ -9085,7 +9085,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "PATCH", "id": "logging.updateCmekSettings", @@ -9120,7 +9120,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/settings", "httpMethod": "PATCH", "id": "logging.updateSettings", @@ -9157,7 +9157,7 @@ } } }, - "revision": "20260123", + "revision": "20260130", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AppHub": { @@ -9253,7 +9253,7 @@ "id": "BigQueryOptions", "properties": { "usePartitionedTables": { - "description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", + "description": "Optional. Whether to use BigQuery's partition tables (https://docs.cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://docs.cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", "type": "boolean" }, "usesTimestampColumnPartitioning": { @@ -9362,11 +9362,11 @@ "type": "object" }, "CmekSettings": { - "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "id": "CmekSettings", "properties": { "kmsKeyName": { - "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "kmsKeyVersionName": { @@ -9380,7 +9380,7 @@ "type": "string" }, "serviceAccountId": { - "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "readOnly": true, "type": "string" } @@ -9540,7 +9540,7 @@ "type": "array" }, "filter": { - "description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE.", + "description": "Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE.", "type": "string" }, "mode": { @@ -9637,6 +9637,140 @@ }, "type": "object" }, + "FieldSource": { + "description": "A source that can be used to represent a field within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses.", + "id": "FieldSource", + "properties": { + "aliasRef": { + "description": "The alias name for a field that has already been aliased within a different ProjectedField type elsewhere in the query model. The alias must be defined in the QueryBuilderConfig's field_sources list, otherwise the model is invalid.", + "type": "string" + }, + "columnType": { + "description": "The type of the selected field. This comes from the schema. Can be one of the BigQuery data types: - STRING - INT64 - FLOAT64 - BOOL - TIMESTAMP - DATE - RECORD - JSON", + "type": "string" + }, + "field": { + "description": "The fully qualified, dot-delimited path to the selected atomic field (the leaf value). This path is used for primary selection and actions like drill-down or projection.The path components should match the exact field names or keys as they appear in the underlying data schema. For JSON fields, this means respecting the original casing (e.g., camelCase or snake_case as present in the JSON).To reference field names containing special characters (e.g., hyphens, spaces), enclose the individual path segment in backticks (`).Examples: * json_payload.labels.message * json_payload.request_id * httpRequest.status * json_payload.\\my-custom-field`.value *jsonPayload.`my key with spaces`.data`", + "type": "string" + }, + "isJson": { + "description": "Whether the field is a JSON field, or has a parent that is a JSON field. This value is used to determine JSON extractions in generated SQL queries. Note that this is_json flag may be true when the column_type is not JSON if the parent is a JSON field. Ex: - A json_payload.message field might have is_json=true, since the 'json_payload' parent is of type JSON, and columnType='STRING' if the 'message' field is of type STRING.", + "type": "boolean" + }, + "parentPath": { + "description": "The dot-delimited path of the parent container that holds the target field.This path defines the structural hierarchy and is essential for correctly generating SQL when field keys contain special characters (e.g., dots or brackets).Example: json_payload.labels (This points to the 'labels' object). This is an empty string if the target field is at the root level.", + "type": "string" + }, + "projectedField": { + "$ref": "ProjectedField", + "description": "A projected field option for when a user wants to use a field with some additional transformations such as casting or extractions." + } + }, + "type": "object" + }, + "FilterExpression": { + "description": "This is a leaf of the FilterPredicate. Ex: { field: json_payload.message.error_code, filter_value: {numeric_value: 400}, comparator: EQUAL_TO} The field will be schema field that is selected using the . annotation to display the drill down value. The value will be the user inputted text that the filter is comparing against.", + "id": "FilterExpression", + "properties": { + "comparator": { + "description": "The comparison type to use for the filter.", + "enum": [ + "COMPARATOR_UNSPECIFIED", + "EQUALS", + "MATCHES_REGEXP", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_EQUALS", + "LESS_THAN_EQUALS", + "IS_NULL", + "IN", + "LIKE" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "The value is equal to the inputted value.", + "The value is equal to the inputted regex value.", + "The value is greater than the inputted value.", + "The value is less than the inputted value.", + "The value is greater than or equal to the inputted value.", + "The value is less than or equal to the inputted value.", + "Requires the filter_value to be a Value type with null_value set to true.", + "The value is in the inputted array value.", + "The value is like the inputted value." + ], + "type": "string" + }, + "fieldSource": { + "$ref": "FieldSource", + "description": "Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value." + }, + "fieldSourceValue": { + "$ref": "FieldSource", + "description": "The field. This will be the field that is set as the Right Hand Side of the filter." + }, + "isNegation": { + "description": "Determines if the NOT flag should be added to the comparator.", + "type": "boolean" + }, + "literalValue": { + "description": "The Value will be used to hold user defined constants set as the Right Hand Side of the filter.", + "type": "any" + } + }, + "type": "object" + }, + "FilterPredicate": { + "description": "A filter for a query. This equates to the WHERE clause in SQL.", + "id": "FilterPredicate", + "properties": { + "childPredicates": { + "description": "The children of the filter predicate. This equates to the branches of the filter predicate that could contain further nested leaves.", + "items": { + "$ref": "FilterPredicate" + }, + "type": "array" + }, + "leafPredicate": { + "$ref": "FilterExpression", + "description": "The leaves of the filter predicate. This equates to the last leaves of the filter predicate associated with an operator." + }, + "operatorType": { + "description": "The operator type for the filter. Currently there is no support for multiple levels of nesting, so this will be a single value with no joining of different operator types", + "enum": [ + "OPERATOR_TYPE_UNSPECIFIED", + "AND", + "OR", + "LEAF" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "AND will be the default operator type.", + "OR operator type.", + "LEAF operator type." + ], + "type": "string" + } + }, + "type": "object" + }, + "FunctionApplication": { + "description": "Defines the aggregation function to apply to this field. This message is used only when operation is set to AGGREGATE.", + "id": "FunctionApplication", + "properties": { + "parameters": { + "description": "Optional. Parameters to be applied to the aggregation. Aggregations that support or require parameters are listed above.", + "items": { + "type": "any" + }, + "type": "array" + }, + "type": { + "description": "Required. Specifies the aggregation function. Use one of the following string identifiers: \"average\": Computes the average (AVG). Applies only to numeric values. \"count\": Counts the number of values (COUNT). \"count-distinct\": Counts the number of distinct values (COUNT DISTINCT). \"count-distinct-approx\": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). \"max\": Finds the maximum value (MAX). Applies only to numeric values. \"min\": Finds the minimum value (MIN). Applies only to numeric values. \"sum\": Computes the sum (SUM). Applies only to numeric values.", + "type": "string" + } + }, + "type": "object" + }, "GetIamPolicyRequest": { "description": "Request message for GetIamPolicy method.", "id": "GetIamPolicyRequest", @@ -9743,7 +9877,7 @@ "type": "string" }, "fieldPath": { - "description": "Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status", + "description": "Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://docs.cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status", "type": "string" }, "type": { @@ -10323,7 +10457,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", + "description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", "readOnly": true, "type": "string" }, @@ -10561,7 +10695,7 @@ "type": "boolean" }, "filter": { - "description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity=ERROR", + "description": "Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR", "type": "string" }, "includeChildren": { @@ -10810,7 +10944,7 @@ "type": "string" }, "writerIdentity": { - "description": "Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required.", + "description": "Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Manage access to projects, folders, and organizations (https://docs.cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required.", "readOnly": true, "type": "string" } @@ -10875,7 +11009,7 @@ "id": "LoggingQuery", "properties": { "filter": { - "description": "Required. An advanced query using the Logging Query Language (https://cloud.google.com/logging/docs/view/logging-query-language). The maximum length of the filter is 20000 characters.", + "description": "Required. An advanced query using the Logging Query Language (https://docs.cloud.google.com/logging/docs/view/logging-query-language). The maximum length of the filter is 20000 characters.", "type": "string" }, "summaryFieldEnd": { @@ -11196,11 +11330,15 @@ "type": "object" }, "OpsAnalyticsQuery": { - "description": "Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release.", + "description": "Describes a query that can be run in Log Analytics.", "id": "OpsAnalyticsQuery", "properties": { + "queryBuilder": { + "$ref": "QueryBuilderConfig", + "description": "Optional. A query builder configuration used in Log Analytics.If both query_builder and sql_query_text fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set." + }, "sqlQueryText": { - "description": "Required. A logs analytics SQL query, which generally follows BigQuery format.This is the SQL query that appears in the Log Analytics UI's query editor.", + "description": "Optional. A Log Analytics SQL query in text format.If both sql_query_text and query_builder fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set.", "type": "string" } }, @@ -11230,6 +11368,94 @@ }, "type": "object" }, + "ProjectedField": { + "description": "Represents a field selected in the query, analogous to an item in a SQL SELECT clause. It specifies the source field and optionally applies transformations like aggregation, casting, regex extraction, or assigns an alias. Use ProjectedField when you need more than just the raw source field name (for which you might use FieldSource directly in QueryBuilderConfig's field_sources list if no transformations or specific operation type are needed).", + "id": "ProjectedField", + "properties": { + "alias": { + "description": "The alias name for the field. Valid alias examples are: - single word alias: TestAlias - numbers in an alias: Alias123 - multi word alias should be enclosed in quotes: \"Test Alias\" Invalid alias examples are: - alias containing keywords: WHERE, SELECT, FROM, etc. - alias starting with a number: 1stAlias", + "type": "string" + }, + "cast": { + "description": "The cast for the field. This can any SQL cast type. Examples: - STRING - CHAR - DATE - TIMESTAMP - DATETIME - INT - FLOAT", + "type": "string" + }, + "field": { + "description": "The field name. This will be the field that is selected using the dot notation to display the drill down value.", + "type": "string" + }, + "operation": { + "description": "Specifies the role of this field (direct selection, grouping, or aggregation).", + "enum": [ + "FIELD_OPERATION_UNSPECIFIED", + "NO_SETTING", + "GROUP_BY", + "AGGREGATE" + ], + "enumDescriptions": [ + "Invalid value. Operation must be specified.", + "Select the field directly without grouping or aggregation. Corresponds to including the raw field (potentially with cast, regex, or alias) in the SELECT list.", + "Group the query results by the distinct values of this field. Corresponds to including the field (potentially truncated) in the GROUP BY clause.", + "Apply an aggregation function to this field across grouped results. Corresponds to applying a function like COUNT, SUM, AVG in the SELECT list. Requires sql_aggregation_function to be set." + ], + "type": "string" + }, + "regexExtraction": { + "description": "The re2 extraction for the field. This will be used to extract the value from the field using REGEXP_EXTRACT. More information on re2 can be found here: https://github.com/google/re2/wiki/Syntax. Meta characters like +?()| will need to be escaped. Examples: - \".(autoscaler.*)$\" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),\"request(.*(autoscaler.*)$)\")in SQL. - \"\\(test_value\\)$\" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),\"request(\\(test_value\\)$)\") in SQL.", + "type": "string" + }, + "sqlAggregationFunction": { + "$ref": "FunctionApplication", + "description": "The function to apply to the field." + }, + "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" + } + }, + "type": "object" + }, + "QueryBuilderConfig": { + "description": "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.", + "id": "QueryBuilderConfig", + "properties": { + "fieldSources": { + "description": "Defines the items to include in the query result, analogous to a SQL SELECT clause.", + "items": { + "$ref": "FieldSource" + }, + "type": "array" + }, + "filter": { + "$ref": "FilterPredicate", + "description": "The filter to use for the query. This equates to the WHERE clause in SQL." + }, + "limit": { + "description": "The limit to use for the query. This equates to the LIMIT clause in SQL. A limit of 0 will be treated as not enabled.", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "The sort orders to use for the query. This equates to the ORDER BY clause in SQL.", + "items": { + "$ref": "SortOrderParameter" + }, + "type": "array" + }, + "resourceNames": { + "description": "Required. The view/resource to query. For now only a single view/resource will be sent, but there are plans to allow multiple views in the future. Marking as repeated for that purpose. Example: - \"projects/123/locations/global/buckets/456/views/_Default\" - \"projects/123/locations/global/metricBuckets/456/views/_Default\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "searchTerm": { + "description": "The plain text search to use for the query. There is no support for multiple search terms. This uses the SEARCH functionality in BigQuery. For example, a search_term = 'ERROR' would result in the following SQL:SELECT * FROM resource WHERE SEARCH(resource, 'ERROR') LIMIT 100", + "type": "string" + } + }, + "type": "object" + }, "RecentQuery": { "description": "Describes a recent query executed on the Logs Explorer or Log Analytics page within the last ~ 30 days.", "id": "RecentQuery", @@ -11245,7 +11471,7 @@ "description": "Logging query that can be executed in Logs Explorer or via Logging API." }, "name": { - "description": "Output only. Resource name of the recent query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID.", + "description": "Output only. Resource name of the recent query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID.", "readOnly": true, "type": "string" }, @@ -11437,7 +11663,7 @@ "description": "Logging query that can be executed in Logs Explorer or via Logging API." }, "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "readOnly": true, "type": "string" }, @@ -11497,11 +11723,11 @@ "type": "boolean" }, "kmsKeyName": { - "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "kmsServiceAccountId": { - "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "readOnly": true, "type": "string" }, @@ -11522,6 +11748,33 @@ }, "type": "object" }, + "SortOrderParameter": { + "description": "A sort order for a query based on a column.", + "id": "SortOrderParameter", + "properties": { + "fieldSource": { + "$ref": "FieldSource", + "description": "The field to sort on. Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value." + }, + "sortOrderDirection": { + "description": "The sort order to use for the query.", + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "SORT_ORDER_NONE", + "SORT_ORDER_ASCENDING", + "SORT_ORDER_DESCENDING" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "No sorting will be applied. This is used to determine if the query is in pass thru mode. To correctly chart a query in pass thru mode, NONE will need to be sent", + "The lowest-valued entries will be selected.", + "The highest-valued entries will be selected." + ], + "type": "string" + } + }, + "type": "object" + }, "SourceLocation": { "description": "Specifies a location in a source code file.", "id": "SourceLocation", @@ -11585,7 +11838,7 @@ "type": "object" }, "SummaryField": { - "description": "A field from the LogEntry that is added to the summary line (https://cloud.google.com/logging/docs/view/logs-explorer-interface#add-summary-fields) for a query in the Logs Explorer.", + "description": "A field from the LogEntry that is added to the summary line (https://docs.cloud.google.com/logging/docs/view/logs-explorer-interface#preferences) for a query in the Logs Explorer.", "id": "SummaryField", "properties": { "field": { diff --git a/discovery/managedidentities-v1.json b/discovery/managedidentities-v1.json index 7f8e69e460b..695ecdbccce 100644 --- a/discovery/managedidentities-v1.json +++ b/discovery/managedidentities-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "managedidentities.projects.locations.list", @@ -143,6 +143,12 @@ "name" ], "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.", + "location": "query", + "repeated": true, + "type": "string" + }, "filter": { "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", @@ -1242,6 +1248,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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": "v1/{+name}", @@ -1515,7 +1526,7 @@ } } }, - "revision": "20250116", + "revision": "20260202", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -2085,6 +2096,10 @@ "description": "consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites).", "type": "string" }, + "consumerProjectNumber": { + "description": "Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required.", + "type": "string" + }, "createTime": { "description": "Output only. Timestamp when the resource was created.", "format": "google-datetime", @@ -2482,6 +2497,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/managedidentities-v1alpha1.json b/discovery/managedidentities-v1alpha1.json index 363285f7f09..0c1516140ca 100644 --- a/discovery/managedidentities-v1alpha1.json +++ b/discovery/managedidentities-v1alpha1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "managedidentities.projects.locations.list", @@ -143,6 +143,12 @@ "name" ], "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.", + "location": "query", + "repeated": true, + "type": "string" + }, "filter": { "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", @@ -1242,6 +1248,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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": "v1alpha1/{+name}/operations", @@ -1515,7 +1526,7 @@ } } }, - "revision": "20250116", + "revision": "20260202", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -2088,6 +2099,10 @@ "description": "consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites).", "type": "string" }, + "consumerProjectNumber": { + "description": "Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required.", + "type": "string" + }, "createTime": { "description": "Output only. Timestamp when the resource was created.", "format": "google-datetime", @@ -2484,6 +2499,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/managedidentities-v1beta1.json b/discovery/managedidentities-v1beta1.json index bb4e22b2db8..6520816b162 100644 --- a/discovery/managedidentities-v1beta1.json +++ b/discovery/managedidentities-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "managedidentities.projects.locations.list", @@ -143,6 +143,12 @@ "name" ], "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.", + "location": "query", + "repeated": true, + "type": "string" + }, "filter": { "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", @@ -1242,6 +1248,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. 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}", @@ -1515,7 +1526,7 @@ } } }, - "revision": "20250116", + "revision": "20260202", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -2097,6 +2108,10 @@ "description": "consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites).", "type": "string" }, + "consumerProjectNumber": { + "description": "Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required.", + "type": "string" + }, "createTime": { "description": "Output only. Timestamp when the resource was created.", "format": "google-datetime", @@ -2494,6 +2509,13 @@ "$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" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/memcache-v1.json b/discovery/memcache-v1.json index 3468fc35a5d..b8b346fd62d 100644 --- a/discovery/memcache-v1.json +++ b/discovery/memcache-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -648,7 +648,7 @@ } } }, - "revision": "20260115", + "revision": "20260129", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/discovery/memcache-v1beta2.json b/discovery/memcache-v1beta2.json index 1b774aa14a2..81a8afa70c2 100644 --- a/discovery/memcache-v1beta2.json +++ b/discovery/memcache-v1beta2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -623,7 +623,7 @@ } } }, - "revision": "20260115", + "revision": "20260129", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/discovery/merchantapi-accounts_v1.json b/discovery/merchantapi-accounts_v1.json index 7a17bc155de..ae3ab5b5476 100644 --- a/discovery/merchantapi-accounts_v1.json +++ b/discovery/merchantapi-accounts_v1.json @@ -2410,7 +2410,7 @@ } } }, - "revision": "20251120", + "revision": "20260218", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -2484,7 +2484,7 @@ "type": "string" }, "accountName": { - "description": "Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information.", + "description": "Required. A human-readable name of the account. Don't use punctuation, capitalization, or non-alphanumeric symbols such as the \"/\" or \"_\" symbols. See [Adding a business name](https://support.google.com/merchants/answer/12159159) for more information.", "type": "string" }, "adultContent": { @@ -3123,7 +3123,7 @@ "readOnly": true }, "eligibleDestinations": { - "description": "Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS`", + "description": "Optional. Required for the create operation. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies. Valid destination values are `SHOPPING_ADS` and `FREE_LISTINGS`.", "items": { "enum": [ "DESTINATION_ENUM_UNSPECIFIED", @@ -3230,7 +3230,7 @@ "description": "Required. The account to be created." }, "service": { - "description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided.", + "description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `products_management` services may be provided.", "items": { "$ref": "AddAccountService" }, @@ -4871,7 +4871,7 @@ "type": "object" }, "Program": { - "description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `shopping-ads` * `youtube-shopping-checkout`", + "description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `product-ratings` * `shopping-ads` * `youtube-shopping-checkout`", "id": "Program", "properties": { "activeRegionCodes": { @@ -5009,7 +5009,7 @@ "type": "object" }, "Region": { - "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", + "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", "id": "Region", "properties": { "displayName": { diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index 61bda37f62f..896ac0db1b9 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2360,7 +2360,7 @@ } } }, - "revision": "20251120", + "revision": "20260218", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -2434,7 +2434,7 @@ "type": "string" }, "accountName": { - "description": "Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information.", + "description": "Required. A human-readable name of the account. Don't use punctuation, capitalization, or non-alphanumeric symbols such as the \"/\" or \"_\" symbols. See [Adding a business name](https://support.google.com/merchants/answer/12159159) for more information.", "type": "string" }, "adultContent": { @@ -3003,7 +3003,7 @@ "readOnly": true }, "eligibleDestinations": { - "description": "Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS`", + "description": "Optional. Required for the create operation. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies. Valid destination values are `SHOPPING_ADS` and `FREE_LISTINGS`.", "items": { "enum": [ "DESTINATION_ENUM_UNSPECIFIED", @@ -3110,7 +3110,7 @@ "description": "Required. The account to be created." }, "service": { - "description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided.", + "description": "Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `products_management` services may be provided.", "items": { "$ref": "AddAccountService" }, @@ -4748,7 +4748,7 @@ "type": "object" }, "Program": { - "description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `shopping-ads` * `youtube-shopping-checkout`", + "description": "Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `product-ratings` * `shopping-ads` * `youtube-shopping-checkout`", "id": "Program", "properties": { "activeRegionCodes": { @@ -4886,7 +4886,7 @@ "type": "object" }, "Region": { - "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", + "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", "id": "Region", "properties": { "displayName": { diff --git a/discovery/merchantapi-promotions_v1.json b/discovery/merchantapi-promotions_v1.json index 98bda8f8e22..36bcfceeb6f 100644 --- a/discovery/merchantapi-promotions_v1.json +++ b/discovery/merchantapi-promotions_v1.json @@ -203,7 +203,7 @@ } } }, - "revision": "20250805", + "revision": "20260204", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -258,6 +258,24 @@ ], "type": "string" }, + "customRedemptionRestriction": { + "description": "Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.", + "type": "string" + }, + "eventApplicability": { + "description": "Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set.", + "enum": [ + "EVENT_APPLICABILITY_UNSPECIFIED", + "SITEWIDE", + "SPECIFIC_CATEGORIES" + ], + "enumDescriptions": [ + "Indicates that the event applicability is unspecified.", + "Indicates that the promotion applies to the entire site.", + "Indicates that the promotion applies to specific categories. When this is set, the GoogleProductCategory field is required." + ], + "type": "string" + }, "freeGiftDescription": { "description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" @@ -279,6 +297,13 @@ "format": "int64", "type": "string" }, + "googleProductCategories": { + "description": "Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en).", + "items": { + "type": "string" + }, + "type": "array" + }, "itemGroupIdExclusion": { "description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", "items": { @@ -320,6 +345,10 @@ "description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" }, + "maxDiscountAmount": { + "$ref": "Price", + "description": "Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type." + }, "minimumPurchaseAmount": { "$ref": "Price", "description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." @@ -352,7 +381,7 @@ "type": "string" }, "productApplicability": { - "description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", + "description": "Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set.", "enum": [ "PRODUCT_APPLICABILITY_UNSPECIFIED", "ALL_PRODUCTS", @@ -428,6 +457,26 @@ "description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", "type": "string" }, + "redemptionRestriction": { + "description": "Optional. A restriction customers must meet before they can redeem the promotion.", + "enum": [ + "REDEMPTION_RESTRICTION_UNSPECIFIED", + "SUBSCRIBE", + "FIRST_ORDER", + "SIGNUP_FOR_EMAIL", + "SIGNUP_FOR_TEXT", + "CUSTOM" + ], + "enumDescriptions": [ + "Indicates that the redemption restriction is unspecified.", + "The promotion can only be redeemed by signing up for a subscription.", + "The promotion can only be redeemed on the first order.", + "The promotion can only be redeemed by signing up for email.", + "The promotion can only be redeemed by signing up for text message alerts.", + "The promotion can only be redeemed with a custom redemption restriction. In this case, the `custom_redemption_restriction` field must be set." + ], + "type": "string" + }, "storeApplicability": { "description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", "enum": [ diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 7bbbd731590..e9026e6f208 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, - "revision": "20250805", + "revision": "20260204", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -258,6 +258,24 @@ ], "type": "string" }, + "customRedemptionRestriction": { + "description": "Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.", + "type": "string" + }, + "eventApplicability": { + "description": "Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set.", + "enum": [ + "EVENT_APPLICABILITY_UNSPECIFIED", + "SITEWIDE", + "SPECIFIC_CATEGORIES" + ], + "enumDescriptions": [ + "Indicates that the event applicability is unspecified.", + "Indicates that the promotion applies to the entire site.", + "Indicates that the promotion applies to specific categories. When this is set, the GoogleProductCategory field is required." + ], + "type": "string" + }, "freeGiftDescription": { "description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" @@ -279,6 +297,13 @@ "format": "int64", "type": "string" }, + "googleProductCategories": { + "description": "Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en).", + "items": { + "type": "string" + }, + "type": "array" + }, "itemGroupIdExclusion": { "description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", "items": { @@ -320,6 +345,10 @@ "description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" }, + "maxDiscountAmount": { + "$ref": "Price", + "description": "Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type." + }, "minimumPurchaseAmount": { "$ref": "Price", "description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." @@ -352,7 +381,7 @@ "type": "string" }, "productApplicability": { - "description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", + "description": "Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set.", "enum": [ "PRODUCT_APPLICABILITY_UNSPECIFIED", "ALL_PRODUCTS", @@ -428,6 +457,26 @@ "description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", "type": "string" }, + "redemptionRestriction": { + "description": "Optional. A restriction customers must meet before they can redeem the promotion.", + "enum": [ + "REDEMPTION_RESTRICTION_UNSPECIFIED", + "SUBSCRIBE", + "FIRST_ORDER", + "SIGNUP_FOR_EMAIL", + "SIGNUP_FOR_TEXT", + "CUSTOM" + ], + "enumDescriptions": [ + "Indicates that the redemption restriction is unspecified.", + "The promotion can only be redeemed by signing up for a subscription.", + "The promotion can only be redeemed on the first order.", + "The promotion can only be redeemed by signing up for email.", + "The promotion can only be redeemed by signing up for text message alerts.", + "The promotion can only be redeemed with a custom redemption restriction. In this case, the `custom_redemption_restriction` field must be set." + ], + "type": "string" + }, "storeApplicability": { "description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", "enum": [ diff --git a/discovery/metastore-v1.json b/discovery/metastore-v1.json index 371ec6d04f6..10eacd10dd0 100644 --- a/discovery/metastore-v1.json +++ b/discovery/metastore-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "metastore.projects.locations.list", @@ -1695,7 +1695,7 @@ } } }, - "revision": "20260122", + "revision": "20260203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { diff --git a/discovery/metastore-v1alpha.json b/discovery/metastore-v1alpha.json index 9485c354002..b074f36e392 100644 --- a/discovery/metastore-v1alpha.json +++ b/discovery/metastore-v1alpha.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "metastore.projects.locations.list", @@ -1807,7 +1807,7 @@ } } }, - "revision": "20260122", + "revision": "20260203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { diff --git a/discovery/metastore-v1beta.json b/discovery/metastore-v1beta.json index 27ba5d0244f..e376652f32d 100644 --- a/discovery/metastore-v1beta.json +++ b/discovery/metastore-v1beta.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "metastore.projects.locations.list", @@ -1807,7 +1807,7 @@ } } }, - "revision": "20260122", + "revision": "20260203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { diff --git a/discovery/monitoring-v1.json b/discovery/monitoring-v1.json index f2138be2a08..119d4149291 100644 --- a/discovery/monitoring-v1.json +++ b/discovery/monitoring-v1.json @@ -753,7 +753,7 @@ } } }, - "revision": "20260108", + "revision": "20260212", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -1087,6 +1087,21 @@ }, "type": "object" }, + "CoordinatedWidget": { + "description": "A widget that contains two widget visualizations that are coordinated in display. Currently, we only support the primary widget of TimeSeriesTable with the secondary widget of XyChart.", + "id": "CoordinatedWidget", + "properties": { + "primary": { + "$ref": "Widget", + "description": "Required. The primary visualization. Must be set. Must contain a data source." + }, + "secondary": { + "$ref": "Widget", + "description": "Required. The secondary visualization. Must be set. Must contain a data source." + } + }, + "type": "object" + }, "Dashboard": { "description": "A Google Stackdriver dashboard. Dashboards define the content and layout of pages in the Stackdriver web application.", "id": "Dashboard", @@ -3006,6 +3021,10 @@ "$ref": "CollapsibleGroup", "description": "A widget that groups the other widgets. All widgets that are within the area spanned by the grouping widget are considered member widgets." }, + "coordinatedWidget": { + "$ref": "CoordinatedWidget", + "description": "A widget that contains two widget visualizations that are coordinated in display." + }, "errorReportingPanel": { "$ref": "ErrorReportingPanel", "description": "A widget that displays a list of error groups." diff --git a/discovery/monitoring-v3.json b/discovery/monitoring-v3.json index 8a398fa4407..4c68f103506 100644 --- a/discovery/monitoring-v3.json +++ b/discovery/monitoring-v3.json @@ -2799,7 +2799,7 @@ } } }, - "revision": "20251006", + "revision": "20260129", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -5305,7 +5305,7 @@ "type": "array" }, "renotifyInterval": { - "description": "The frequency at which to send reminder notifications for open incidents.", + "description": "The frequency at which to send reminder notifications for open incidents. The value must be between 30 minutes and 24 hours.", "format": "google-duration", "type": "string" } diff --git a/discovery/netapp-v1.json b/discovery/netapp-v1.json index 4b275cbe321..0fa025e38f3 100644 --- a/discovery/netapp-v1.json +++ b/discovery/netapp-v1.json @@ -2715,7 +2715,7 @@ } } }, - "revision": "20260125", + "revision": "20260218", "rootUrl": "https://netapp.googleapis.com/", "schemas": { "ActiveDirectory": { @@ -3391,6 +3391,29 @@ "properties": {}, "type": "object" }, + "CloneDetails": { + "description": "Details about a clone volume.", + "id": "CloneDetails", + "properties": { + "sharedSpaceGib": { + "description": "Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "sourceSnapshot": { + "description": "Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailySchedule": { "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", "id": "DailySchedule", @@ -5322,6 +5345,11 @@ "format": "int64", "type": "string" }, + "cloneDetails": { + "$ref": "CloneDetails", + "description": "Output only. If this volume is a clone, this field contains details about the clone.", + "readOnly": true + }, "coldTierSizeGib": { "description": "Output only. Size of the volume cold tier data rounded down to the nearest GiB.", "format": "int64", diff --git a/discovery/netapp-v1beta1.json b/discovery/netapp-v1beta1.json index ee9376540a8..2eab7593461 100644 --- a/discovery/netapp-v1beta1.json +++ b/discovery/netapp-v1beta1.json @@ -1809,6 +1809,118 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "ontap": { + "methods": { + "executeOntapDelete": { + "description": "`ExecuteOntapDelete` dispatches the ONTAP `DELETE` request to the `StoragePool` cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}/ontap/{ontapId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.storagePools.ontap.executeOntapDelete", + "parameterOrder": [ + "ontapPath" + ], + "parameters": { + "ontapPath": { + "description": "Required. The resource path of the ONTAP resource. Format: `projects/{project_number}/locations/{location_id}/storagePools/{storage_pool_id}/ontap/{ontap_resource_path}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+/ontap/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+ontapPath}", + "response": { + "$ref": "ExecuteOntapDeleteResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeOntapGet": { + "description": "`ExecuteOntapGet` dispatches the ONTAP `GET` request to the `StoragePool` cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}/ontap/{ontapId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.ontap.executeOntapGet", + "parameterOrder": [ + "ontapPath" + ], + "parameters": { + "ontapPath": { + "description": "Required. The resource path of the ONTAP resource. Format: `projects/{project_number}/locations/{location_id}/storagePools/{storage_pool_id}/ontap/{ontap_resource_path}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+/ontap/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+ontapPath}", + "response": { + "$ref": "ExecuteOntapGetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeOntapPatch": { + "description": "`ExecuteOntapPatch` dispatches the ONTAP `PATCH` request to the `StoragePool` cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}/ontap/{ontapId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.storagePools.ontap.executeOntapPatch", + "parameterOrder": [ + "ontapPath" + ], + "parameters": { + "ontapPath": { + "description": "Required. The resource path of the ONTAP resource. Format: `projects/{project_number}/locations/{location_id}/storagePools/{storage_pool_id}/ontap/{ontap_resource_path}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+/ontap/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+ontapPath}", + "request": { + "$ref": "ExecuteOntapPatchRequest" + }, + "response": { + "$ref": "ExecuteOntapPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeOntapPost": { + "description": "`ExecuteOntapPost` dispatches the ONTAP `POST` request to the `StoragePool` cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}/ontap/{ontapId}", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.ontap.executeOntapPost", + "parameterOrder": [ + "ontapPath" + ], + "parameters": { + "ontapPath": { + "description": "Required. The resource path of the ONTAP resource. Format: `projects/{project_number}/locations/{location_id}/storagePools/{storage_pool_id}/ontap/{ontap_resource_path}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+/ontap/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+ontapPath}", + "request": { + "$ref": "ExecuteOntapPostRequest" + }, + "response": { + "$ref": "ExecuteOntapPostResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "volumes": { @@ -2715,7 +2827,7 @@ } } }, - "revision": "20260125", + "revision": "20260218", "rootUrl": "https://netapp.googleapis.com/", "schemas": { "ActiveDirectory": { @@ -3391,6 +3503,29 @@ "properties": {}, "type": "object" }, + "CloneDetails": { + "description": "Details about a clone volume.", + "id": "CloneDetails", + "properties": { + "sharedSpaceGib": { + "description": "Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "sourceSnapshot": { + "description": "Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailySchedule": { "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", "id": "DailySchedule", @@ -3498,6 +3633,96 @@ }, "type": "object" }, + "ExecuteOntapDeleteResponse": { + "description": "Response message for `ExecuteOntapDelete` API.", + "id": "ExecuteOntapDeleteResponse", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The raw `JSON` body of the response.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteOntapGetResponse": { + "description": "Response message for `ExecuteOntapGet` API.", + "id": "ExecuteOntapGetResponse", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The raw `JSON` body of the response.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteOntapPatchRequest": { + "description": "Request message for `ExecuteOntapPatch` API.", + "id": "ExecuteOntapPatchRequest", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The raw `JSON` body of the request. The body should be in the format of the ONTAP resource. For example: ``` { \"body\": { \"field1\": \"value1\", \"field2\": \"value2\", } } ```", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteOntapPatchResponse": { + "description": "Response message for `ExecuteOntapPatch` API.", + "id": "ExecuteOntapPatchResponse", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The raw `JSON` body of the response.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteOntapPostRequest": { + "description": "Request message for `ExecuteOntapPost` API.", + "id": "ExecuteOntapPostRequest", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The raw `JSON` body of the request. The body should be in the format of the ONTAP resource. For example: ``` { \"body\": { \"field1\": \"value1\", \"field2\": \"value2\", } } ```", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteOntapPostResponse": { + "description": "Response message for `ExecuteOntapPost` API.", + "id": "ExecuteOntapPostResponse", + "properties": { + "body": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The raw `JSON` body of the response.", + "type": "object" + } + }, + "type": "object" + }, "ExportPolicy": { "description": "Defines the export policy for the volume.", "id": "ExportPolicy", @@ -3826,6 +4051,18 @@ }, "type": "object" }, + "LargeCapacityConfig": { + "description": "Configuration for a Large Capacity Volume. A Large Capacity Volume supports sizes ranging from 12 TiB to 20 PiB, it is composed of multiple internal constituents, and must be created in a large capacity pool.", + "id": "LargeCapacityConfig", + "properties": { + "constituentCount": { + "description": "Optional. The number of internal constituents (e.g., FlexVols) for this large volume. The minimum number of constituents is 2.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ListActiveDirectoriesResponse": { "description": "ListActiveDirectoriesResponse contains all the active directories requested.", "id": "ListActiveDirectoriesResponse", @@ -5004,6 +5241,20 @@ "description": "Optional. Flag indicating if the pool is NFS LDAP enabled or not.", "type": "boolean" }, + "mode": { + "description": "Optional. Mode of the storage pool. This field is used to control whether the user can perform the ONTAP operations on the storage pool using the GCNV ONTAP Mode APIs. If not specified during creation, it defaults to `DEFAULT`.", + "enum": [ + "MODE_UNSPECIFIED", + "DEFAULT", + "ONTAP" + ], + "enumDescriptions": [ + "The `StoragePool` `Mode` is not specified.", + "The `StoragePool` and its resources are managed by the GCNV APIs.", + "The `StoragePool` and its resources are managed by the GCNV ONTAP Mode APIs." + ], + "type": "string" + }, "name": { "description": "Identifier. Name of the storage pool", "type": "string" @@ -5044,6 +5295,20 @@ "readOnly": true, "type": "boolean" }, + "scaleTier": { + "description": "Optional. The effective scale tier of the storage pool. If `scale_tier` is not specified during creation, this defaults to `SCALE_TIER_STANDARD`.", + "enum": [ + "SCALE_TIER_UNSPECIFIED", + "SCALE_TIER_STANDARD", + "SCALE_TIER_ENTERPRISE" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "The standard capacity and performance tier. Suitable for general purpose workloads.", + "A higher capacity and performance tier. Suitable for more demanding workloads." + ], + "type": "string" + }, "serviceLevel": { "description": "Required. Service level of the storage pool", "enum": [ @@ -5322,6 +5587,11 @@ "format": "int64", "type": "string" }, + "cloneDetails": { + "$ref": "CloneDetails", + "description": "Output only. If this volume is a clone, this field contains details about the clone.", + "readOnly": true + }, "coldTierSizeGib": { "description": "Output only. Size of the volume cold tier data rounded down to the nearest GiB.", "format": "int64", @@ -5392,6 +5662,10 @@ "description": "Optional. Flag indicating if the volume will be a large capacity volume or a regular volume.", "type": "boolean" }, + "largeCapacityConfig": { + "$ref": "LargeCapacityConfig", + "description": "Optional. Large capacity config for the volume." + }, "ldapEnabled": { "description": "Output only. Flag indicating if the volume is NFS LDAP enabled or not.", "readOnly": true, diff --git a/discovery/networkconnectivity-v1.json b/discovery/networkconnectivity-v1.json index 397e3256ac6..215598ee3cc 100644 --- a/discovery/networkconnectivity-v1.json +++ b/discovery/networkconnectivity-v1.json @@ -163,7 +163,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "networkconnectivity.projects.locations.list", @@ -3718,7 +3718,7 @@ } } }, - "revision": "20260120", + "revision": "20260129", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AcceptHubSpokeRequest": { diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index 3cba2e552fc..81aba560f56 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -409,7 +409,7 @@ "firewallEndpoints": { "methods": { "create": { - "description": "Creates a new FirewallEndpoint in a given project and location.", + "description": "Creates a new FirewallEndpoint in a given organization and location.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "POST", "id": "networksecurity.organizations.locations.firewallEndpoints.create", @@ -447,7 +447,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.organizations.locations.firewallEndpoints.delete", @@ -477,7 +477,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.get", @@ -502,7 +502,7 @@ ] }, "list": { - "description": "Lists FirewallEndpoints in a given project and location.", + "description": "Lists FirewallEndpoints in a given organization and location.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.list", @@ -548,7 +548,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.organizations.locations.firewallEndpoints.patch", @@ -2805,7 +2805,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.projects.locations.firewallEndpoints.delete", @@ -2835,7 +2835,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.projects.locations.firewallEndpoints.get", @@ -2906,7 +2906,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.projects.locations.firewallEndpoints.patch", @@ -5419,7 +5419,7 @@ } } }, - "revision": "20260125", + "revision": "20260204", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -8536,13 +8536,15 @@ "PROFILE_TYPE_UNSPECIFIED", "THREAT_PREVENTION", "CUSTOM_MIRRORING", - "CUSTOM_INTERCEPT" + "CUSTOM_INTERCEPT", + "URL_FILTERING" ], "enumDescriptions": [ "Profile type not specified.", "Profile type for threat prevention.", "Profile type for packet mirroring v2", - "Profile type for TPPI." + "Profile type for TPPI.", + "Profile type for URL filtering." ], "type": "string" }, @@ -8551,6 +8553,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "urlFilteringProfile": { + "$ref": "UrlFilteringProfile", + "description": "The URL filtering configuration for the SecurityProfile." } }, "type": "object" @@ -8608,6 +8614,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "urlFilteringProfile": { + "description": "Optional. Reference to a SecurityProfile with the UrlFiltering configuration.", + "type": "string" } }, "type": "object" @@ -8911,6 +8921,53 @@ }, "type": "object" }, + "UrlFilter": { + "description": "A URL filter defines an action to take for some URL match.", + "id": "UrlFilter", + "properties": { + "filteringAction": { + "description": "Required. The action taken when this filter is applied.", + "enum": [ + "URL_FILTERING_ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Filtering action not specified.", + "The connection matching this filter will be allowed to transmit.", + "The connection matching this filter will be dropped." + ], + "type": "string" + }, + "priority": { + "description": "Required. The priority of this filter within the URL Filtering Profile. Lower integers indicate higher priorities. The priority of a filter must be unique within a URL Filtering Profile.", + "format": "int32", + "type": "integer" + }, + "urls": { + "description": "Required. The list of strings that a URL must match with for this filter to be applied.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "UrlFilteringProfile": { + "description": "UrlFilteringProfile defines filters based on URL.", + "id": "UrlFilteringProfile", + "properties": { + "urlFilters": { + "description": "Optional. The list of filtering configs in which each config defines an action to take for some URL match.", + "items": { + "$ref": "UrlFilter" + }, + "type": "array" + } + }, + "type": "object" + }, "UrlList": { "description": "UrlList proto helps users to set reusable, independently manageable lists of hosts, host patterns, URLs, URL patterns.", "id": "UrlList", diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index 34b77a2a447..e4ff0a813ae 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -409,7 +409,7 @@ "firewallEndpoints": { "methods": { "create": { - "description": "Creates a new FirewallEndpoint in a given project and location.", + "description": "Creates a new FirewallEndpoint in a given organization and location.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "POST", "id": "networksecurity.organizations.locations.firewallEndpoints.create", @@ -447,7 +447,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single org Endpoint.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.organizations.locations.firewallEndpoints.delete", @@ -477,7 +477,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single org Endpoint.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.get", @@ -502,7 +502,7 @@ ] }, "list": { - "description": "Lists FirewallEndpoints in a given project and location.", + "description": "Lists FirewallEndpoints in a given organization and location.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.list", @@ -548,7 +548,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single org Endpoint.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.organizations.locations.firewallEndpoints.patch", @@ -2805,7 +2805,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single project Endpoint.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.projects.locations.firewallEndpoints.delete", @@ -2835,7 +2835,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single project Endpoint.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.projects.locations.firewallEndpoints.get", @@ -2906,7 +2906,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single project Endpoint.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.projects.locations.firewallEndpoints.patch", @@ -5705,7 +5705,7 @@ } } }, - "revision": "20260125", + "revision": "20260131", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { diff --git a/discovery/networkservices-v1.json b/discovery/networkservices-v1.json index a7b053798c2..bea099181d0 100644 --- a/discovery/networkservices-v1.json +++ b/discovery/networkservices-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "networkservices.projects.locations.list", @@ -3191,7 +3191,7 @@ } } }, - "revision": "20251203", + "revision": "20260204", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -6042,6 +6042,13 @@ "readOnly": true, "type": "string" }, + "targetProxies": { + "description": "Optional. TargetProxies defines a list of TargetTcpProxies this TlsRoute is attached to, as one of the routing rules to route the requests served by the TargetTcpProxy. Each TargetTcpProxy reference should match the pattern: `projects/*/locations/*/targetTcpProxies/`", + "items": { + "type": "string" + }, + "type": "array" + }, "updateTime": { "description": "Output only. The timestamp when the resource was updated.", "format": "google-datetime", diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index 705d17c8372..cf4e88ab143 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "networkservices.projects.locations.list", @@ -3100,7 +3100,7 @@ } } }, - "revision": "20251203", + "revision": "20260204", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -5878,6 +5878,13 @@ "readOnly": true, "type": "string" }, + "targetProxies": { + "description": "Optional. TargetProxies defines a list of TargetTcpProxies this TlsRoute is attached to, as one of the routing rules to route the requests served by the TargetTcpProxy. Each TargetTcpProxy reference should match the pattern: `projects/*/locations/*/targetTcpProxies/`", + "items": { + "type": "string" + }, + "type": "array" + }, "updateTime": { "description": "Output only. The timestamp when the resource was updated.", "format": "google-datetime", diff --git a/discovery/notebooks-v1.json b/discovery/notebooks-v1.json index 10523f55e41..d13965249e4 100644 --- a/discovery/notebooks-v1.json +++ b/discovery/notebooks-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -2019,7 +2019,7 @@ } } }, - "revision": "20251121", + "revision": "20260130", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/discovery/notebooks-v2.json b/discovery/notebooks-v2.json index 83fe4dc17a0..86ee629d535 100644 --- a/discovery/notebooks-v2.json +++ b/discovery/notebooks-v2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -474,7 +474,7 @@ "type": "string" }, "parent": { - "description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", + "description": "Required. The parent of the instance. Formats: - `projects/{project_id}/locations/{location}` to list instances in a specific zone. - `projects/{project_id}/locations/-` to list instances in all locations.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -971,7 +971,7 @@ } } }, - "revision": "20251121", + "revision": "20260130", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1750,7 +1750,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", + "description": "Unordered list. Locations that could not be reached. For example, ['projects/{project_id}/locations/us-west1-a', 'projects/{project_id}/locations/us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", "items": { "type": "string" }, diff --git a/discovery/ondemandscanning-v1.json b/discovery/ondemandscanning-v1.json index f2f0602288d..3ee16fb1cca 100644 --- a/discovery/ondemandscanning-v1.json +++ b/discovery/ondemandscanning-v1.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260202", + "revision": "20260209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -525,6 +525,10 @@ "description": "The name of the base image.", "type": "string" }, + "registry": { + "description": "The registry in which the base image is from.", + "type": "string" + }, "repository": { "description": "The repository name in which the base image is from.", "type": "string" diff --git a/discovery/ondemandscanning-v1beta1.json b/discovery/ondemandscanning-v1beta1.json index 2b33b73061a..29b032cce8f 100644 --- a/discovery/ondemandscanning-v1beta1.json +++ b/discovery/ondemandscanning-v1beta1.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260202", + "revision": "20260209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -520,6 +520,10 @@ "description": "The name of the base image.", "type": "string" }, + "registry": { + "description": "The registry in which the base image is from.", + "type": "string" + }, "repository": { "description": "The repository name in which the base image is from.", "type": "string" diff --git a/discovery/oracledatabase-v1.json b/discovery/oracledatabase-v1.json index edc36cf8bbf..6ead72e227c 100644 --- a/discovery/oracledatabase-v1.json +++ b/discovery/oracledatabase-v1.json @@ -15,6 +15,13 @@ "description": "The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle database services, such as Exadata and Autonomous Databases.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/oracle/database/docs", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://oracledatabase.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -2472,7 +2479,7 @@ } } }, - "revision": "20260127", + "revision": "20260212", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { diff --git a/discovery/places-v1.json b/discovery/places-v1.json index afe142d2026..a02a480b14e 100644 --- a/discovery/places-v1.json +++ b/discovery/places-v1.json @@ -280,7 +280,7 @@ } } }, - "revision": "20260104", + "revision": "20260208", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -1134,6 +1134,10 @@ "$ref": "GoogleMapsPlacesV1PlaceGoogleMapsLinks", "description": "Links to trigger different Google Maps actions." }, + "googleMapsTypeLabel": { + "$ref": "GoogleTypeLocalizedText", + "description": "The type label of the place on Google Maps, localized to the request language if applicable, for example, \"Restaurant\", \"Cafe\", \"Airport\", etc. The type label may be different from the primary type display name and may not be a supported type in [Places API Place Types table](https://developers.google.com/maps/documentation/places/web-service/place-types)." + }, "googleMapsUri": { "description": "A URL providing more information about this place.", "type": "string" diff --git a/discovery/privateca-v1.json b/discovery/privateca-v1.json index 753e71a1a18..92cfe891059 100644 --- a/discovery/privateca-v1.json +++ b/discovery/privateca-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "privateca.projects.locations.list", @@ -1616,7 +1616,7 @@ } } }, - "revision": "20260121", + "revision": "20260128", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { diff --git a/discovery/privateca-v1beta1.json b/discovery/privateca-v1beta1.json index 7dfcd9d212d..12be21013f9 100644 --- a/discovery/privateca-v1beta1.json +++ b/discovery/privateca-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "privateca.projects.locations.list", @@ -591,7 +591,7 @@ } } }, - "revision": "20251229", + "revision": "20260128", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/discovery/recommender-v1.json b/discovery/recommender-v1.json index 90fe6a5d842..97e5f5702c9 100644 --- a/discovery/recommender-v1.json +++ b/discovery/recommender-v1.json @@ -1686,7 +1686,7 @@ } } }, - "revision": "20241013", + "revision": "20260208", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { @@ -1739,13 +1739,6 @@ "$ref": "GoogleCloudRecommenderV1CostProjection", "description": "Use with CategoryType.COST" }, - "impactComponents": { - "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", - "items": { - "$ref": "GoogleCloudRecommenderV1Impact" - }, - "type": "array" - }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" diff --git a/discovery/recommender-v1beta1.json b/discovery/recommender-v1beta1.json index 19190d2396d..2a0cc7b3693 100644 --- a/discovery/recommender-v1beta1.json +++ b/discovery/recommender-v1beta1.json @@ -1944,7 +1944,7 @@ } } }, - "revision": "20251026", + "revision": "20260208", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudLocationListLocationsResponse": { @@ -2063,13 +2063,6 @@ "$ref": "GoogleCloudRecommenderV1beta1CostProjection", "description": "Use with CategoryType.COST" }, - "impactComponents": { - "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", - "items": { - "$ref": "GoogleCloudRecommenderV1beta1Impact" - }, - "type": "array" - }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index 129e274b846..32004f843ce 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -134,8 +134,33 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getSharedRegionalCertificateAuthority": { + "description": "Gets the details of regional certificate authority information for Redis cluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sharedRegionalCertificateAuthority", + "httpMethod": "GET", + "id": "redis.projects.locations.getSharedRegionalCertificateAuthority", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Regional certificate authority resource name using the form: `projects/{project_id}/locations/{location_id}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sharedRegionalCertificateAuthority$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SharedRegionalCertificateAuthority" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "redis.projects.locations.list", @@ -1078,7 +1103,7 @@ } } }, - "revision": "20260107", + "revision": "20260210", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -1706,6 +1731,10 @@ "format": "int32", "type": "integer" }, + "rotateServerCertificate": { + "description": "Optional. Input only. Rotate the server certificates.", + "type": "boolean" + }, "satisfiesPzi": { "description": "Optional. Output only. Reserved for future use.", "readOnly": true, @@ -1716,6 +1745,26 @@ "readOnly": true, "type": "boolean" }, + "serverCaMode": { + "description": "Optional. Server CA mode for the cluster.", + "enum": [ + "SERVER_CA_MODE_UNSPECIFIED", + "SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA", + "SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA", + "SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA" + ], + "enumDescriptions": [ + "Server CA mode not specified.", + "Each cluster has its own Google managed CA.", + "The cluster uses Google managed shared CA in the region.", + "The cluster uses customer managed CA from CAS." + ], + "type": "string" + }, + "serverCaPool": { + "description": "Optional. Customer-managed CA pool for the cluster. Only applicable for BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".", + "type": "string" + }, "shardCount": { "description": "Optional. Number of shards for the Redis cluster.", "format": "int32", @@ -2613,7 +2662,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2645,7 +2694,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2653,7 +2703,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2692,7 +2743,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2700,7 +2752,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2788,6 +2841,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "ResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -4878,6 +4938,34 @@ }, "type": "object" }, + "RegionalCertChain": { + "description": "The certificates that form the CA chain, from leaf to root order.", + "id": "RegionalCertChain", + "properties": { + "certificates": { + "description": "The certificates that form the CA chain, from leaf to root order.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionalManagedCertificateAuthority": { + "description": "CA certificate chains for redis managed server authentication.", + "id": "RegionalManagedCertificateAuthority", + "properties": { + "caCerts": { + "description": "The PEM encoded CA certificate chains for redis managed server authentication", + "items": { + "$ref": "RegionalCertChain" + }, + "type": "array" + } + }, + "type": "object" + }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -4949,6 +5037,21 @@ }, "type": "object" }, + "ResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "ResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "ResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "ResourceMaintenanceDenySchedule", @@ -4972,6 +5075,10 @@ "description": "MaintenanceInfo to capture the maintenance details of database resource.", "id": "ResourceMaintenanceInfo", "properties": { + "currentVersionReleaseDate": { + "$ref": "Date", + "description": "Optional. The date when the current maintenance version was released." + }, "denyMaintenanceSchedules": { "description": "Optional. List of Deny maintenance period for the database resource.", "items": { @@ -4979,13 +5086,44 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "ResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." }, + "maintenanceState": { + "description": "Output only. Current state of maintenance on the database resource.", + "enum": [ + "MAINTENANCE_STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Database resource is being created.", + "Database resource has been created and is ready to use.", + "Database resource is being updated.", + "Database resource is unheathy and under repair.", + "Database resource is being deleted.", + "Database resource encountered an error and is in indeterministic state." + ], + "readOnly": true, + "type": "string" + }, "maintenanceVersion": { "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." } }, "type": "object" @@ -5087,6 +5225,21 @@ }, "type": "object" }, + "SharedRegionalCertificateAuthority": { + "description": "Shared regional certificate authority", + "id": "SharedRegionalCertificateAuthority", + "properties": { + "managedServerCa": { + "$ref": "RegionalManagedCertificateAuthority", + "description": "CA certificate chains for redis managed server authentication." + }, + "name": { + "description": "Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority`", + "type": "string" + } + }, + "type": "object" + }, "StateInfo": { "description": "Represents additional information about the state of the cluster.", "id": "StateInfo", @@ -5222,6 +5375,23 @@ }, "type": "object" }, + "UpcomingMaintenance": { + "description": "Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published.", + "id": "UpcomingMaintenance", + "properties": { + "endTime": { + "description": "Optional. The end time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The start time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "UpdateInfo": { "description": "Represents information about an updating cluster.", "id": "UpdateInfo", diff --git a/discovery/redis-v1beta1.json b/discovery/redis-v1beta1.json index a45c6da3295..34c105352fe 100644 --- a/discovery/redis-v1beta1.json +++ b/discovery/redis-v1beta1.json @@ -134,8 +134,33 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getSharedRegionalCertificateAuthority": { + "description": "Gets the details of regional certificate authority information for Redis cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/sharedRegionalCertificateAuthority", + "httpMethod": "GET", + "id": "redis.projects.locations.getSharedRegionalCertificateAuthority", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Regional certificate authority resource name using the form: `projects/{project_id}/locations/{location_id}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sharedRegionalCertificateAuthority$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "SharedRegionalCertificateAuthority" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "redis.projects.locations.list", @@ -1078,7 +1103,7 @@ } } }, - "revision": "20260107", + "revision": "20260210", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -1706,6 +1731,10 @@ "format": "int32", "type": "integer" }, + "rotateServerCertificate": { + "description": "Optional. Input only. Rotate the server certificates.", + "type": "boolean" + }, "satisfiesPzi": { "description": "Optional. Output only. Reserved for future use.", "readOnly": true, @@ -1716,6 +1745,26 @@ "readOnly": true, "type": "boolean" }, + "serverCaMode": { + "description": "Optional. Server CA mode for the cluster.", + "enum": [ + "SERVER_CA_MODE_UNSPECIFIED", + "SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA", + "SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA", + "SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA" + ], + "enumDescriptions": [ + "Server CA mode not specified.", + "Each cluster has its own Google managed CA.", + "The cluster uses Google managed shared CA in the region.", + "The cluster uses customer managed CA from CAS." + ], + "type": "string" + }, + "serverCaPool": { + "description": "Optional. Customer-managed CA pool for the cluster. Only applicable for BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".", + "type": "string" + }, "shardCount": { "description": "Optional. Number of shards for the Redis cluster.", "format": "int32", @@ -2613,7 +2662,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2645,7 +2694,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2653,7 +2703,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2692,7 +2743,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2700,7 +2752,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2788,6 +2841,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "ResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -4885,6 +4945,34 @@ }, "type": "object" }, + "RegionalCertChain": { + "description": "The certificates that form the CA chain, from leaf to root order.", + "id": "RegionalCertChain", + "properties": { + "certificates": { + "description": "The certificates that form the CA chain, from leaf to root order.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionalManagedCertificateAuthority": { + "description": "CA certificate chains for redis managed server authentication.", + "id": "RegionalManagedCertificateAuthority", + "properties": { + "caCerts": { + "description": "The PEM encoded CA certificate chains for redis managed server authentication", + "items": { + "$ref": "RegionalCertChain" + }, + "type": "array" + } + }, + "type": "object" + }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -4956,6 +5044,21 @@ }, "type": "object" }, + "ResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "ResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "ResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "ResourceMaintenanceDenySchedule", @@ -4979,6 +5082,10 @@ "description": "MaintenanceInfo to capture the maintenance details of database resource.", "id": "ResourceMaintenanceInfo", "properties": { + "currentVersionReleaseDate": { + "$ref": "Date", + "description": "Optional. The date when the current maintenance version was released." + }, "denyMaintenanceSchedules": { "description": "Optional. List of Deny maintenance period for the database resource.", "items": { @@ -4986,13 +5093,44 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "ResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." }, + "maintenanceState": { + "description": "Output only. Current state of maintenance on the database resource.", + "enum": [ + "MAINTENANCE_STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Database resource is being created.", + "Database resource has been created and is ready to use.", + "Database resource is being updated.", + "Database resource is unheathy and under repair.", + "Database resource is being deleted.", + "Database resource encountered an error and is in indeterministic state." + ], + "readOnly": true, + "type": "string" + }, "maintenanceVersion": { "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." } }, "type": "object" @@ -5094,6 +5232,21 @@ }, "type": "object" }, + "SharedRegionalCertificateAuthority": { + "description": "Shared regional certificate authority", + "id": "SharedRegionalCertificateAuthority", + "properties": { + "managedServerCa": { + "$ref": "RegionalManagedCertificateAuthority", + "description": "CA certificate chains for redis managed server authentication." + }, + "name": { + "description": "Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority`", + "type": "string" + } + }, + "type": "object" + }, "StateInfo": { "description": "Represents additional information about the state of the cluster.", "id": "StateInfo", @@ -5229,6 +5382,23 @@ }, "type": "object" }, + "UpcomingMaintenance": { + "description": "Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published.", + "id": "UpcomingMaintenance", + "properties": { + "endTime": { + "description": "Optional. The end time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The start time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "UpdateInfo": { "description": "Represents information about an updating cluster.", "id": "UpdateInfo", diff --git a/discovery/run-v1.json b/discovery/run-v1.json index 6f5bb0751f2..7ed24cbeb81 100644 --- a/discovery/run-v1.json +++ b/discovery/run-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/run": { + "description": "See, edit, configure, and delete your Google Cloud Run data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/run.readonly": { + "description": "See your Google Cloud Run data and the email address of your Google Account" } } } @@ -66,6 +72,11 @@ "endpointUrl": "https://asia-southeast2-run.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://asia-southeast3-run.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Locational Endpoint", "endpointUrl": "https://australia-southeast1-run.googleapis.com/", @@ -296,6 +307,11 @@ "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", @@ -604,7 +620,9 @@ "$ref": "ListAuthorizedDomainsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -633,7 +651,9 @@ "$ref": "Configuration" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -694,7 +714,9 @@ "$ref": "ListConfigurationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -731,7 +753,8 @@ "$ref": "DomainMapping" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "delete": { @@ -776,7 +799,8 @@ "$ref": "Status" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "get": { @@ -801,7 +825,9 @@ "$ref": "DomainMapping" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -862,7 +888,9 @@ "$ref": "ListDomainMappingsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -1710,7 +1738,8 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "delete": { @@ -1755,7 +1784,8 @@ "$ref": "Status" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "get": { @@ -1780,7 +1810,9 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -1841,7 +1873,9 @@ "$ref": "ListServicesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "replaceService": { @@ -1874,7 +1908,8 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] } } @@ -2174,7 +2209,9 @@ "$ref": "ListAuthorizedDomainsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -2182,7 +2219,7 @@ "locations": { "methods": { "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "run.projects.locations.list", @@ -2265,7 +2302,9 @@ "$ref": "ListAuthorizedDomainsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -2294,7 +2333,9 @@ "$ref": "Configuration" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -2355,7 +2396,9 @@ "$ref": "ListConfigurationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -2392,7 +2435,8 @@ "$ref": "DomainMapping" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "delete": { @@ -2437,7 +2481,8 @@ "$ref": "Status" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "get": { @@ -2462,7 +2507,9 @@ "$ref": "DomainMapping" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -2523,7 +2570,9 @@ "$ref": "ListDomainMappingsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -3095,7 +3144,8 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "delete": { @@ -3140,7 +3190,8 @@ "$ref": "Status" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "get": { @@ -3165,7 +3216,9 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "getIamPolicy": { @@ -3196,7 +3249,9 @@ "$ref": "Policy" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -3257,7 +3312,9 @@ "$ref": "ListServicesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "replaceService": { @@ -3290,7 +3347,8 @@ "$ref": "Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "setIamPolicy": { @@ -3318,7 +3376,8 @@ "$ref": "Policy" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "testIamPermissions": { @@ -3346,7 +3405,9 @@ "$ref": "TestIamPermissionsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } } @@ -3447,7 +3508,7 @@ } } }, - "revision": "20260123", + "revision": "20260213", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -5958,6 +6019,11 @@ "description": "Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account.", "type": "string" }, + "timeout": { + "description": "Optional. Duration the instance may be active before the system will shut it down.", + "format": "google-duration", + "type": "string" + }, "volumes": { "description": "Optional. List of volumes that can be mounted by containers belonging to the Instance.", "items": { @@ -6009,6 +6075,14 @@ "format": "int32", "readOnly": true, "type": "integer" + }, + "urls": { + "description": "Output only. All URLs serving traffic for this Instance.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -6565,7 +6639,7 @@ "additionalProperties": { "type": "string" }, - "description": "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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", + "description": "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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", "type": "object" }, "clusterName": { @@ -6595,7 +6669,7 @@ "type": "array" }, "generateName": { - "description": "Not supported by Cloud Run", + "description": "Optional. A prefix for the resource name if not provided in the create request. Must be less than 31 characters to allow for a random suffix.", "type": "string" }, "generation": { @@ -6611,7 +6685,7 @@ "type": "object" }, "name": { - "description": "Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created.", + "description": "Optional. The name of the resource. A name for creating top-level resources (Service, Job, WorkerPool). Must be unique within a Cloud Run project/region, and cannot be changed once created. If omitted, a default name will be generated.", "type": "string" }, "namespace": { @@ -6827,7 +6901,7 @@ "type": "object" }, "Revision": { - "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/specs/blob/main/specs/serving/overview.md#revision", + "description": "Revision is an immutable snapshot of code and configuration. A revision references one or more container images. Revisions are created by updates to a Service.", "id": "Revision", "properties": { "apiVersion": { @@ -6863,7 +6937,7 @@ "type": "integer" }, "containers": { - "description": "Required. Containers holds the list which define the units of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle.", + "description": "Required. Containers holds the list which define the units of execution for this Revision.", "items": { "$ref": "Container" }, diff --git a/discovery/run-v2.json b/discovery/run-v2.json index 66ae1bf24c5..85281d920c6 100644 --- a/discovery/run-v2.json +++ b/discovery/run-v2.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/run": { + "description": "See, edit, configure, and delete your Google Cloud Run data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/run.readonly": { + "description": "See your Google Cloud Run data and the email address of your Google Account" } } } @@ -66,6 +72,11 @@ "endpointUrl": "https://asia-southeast2-run.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://asia-southeast3-run.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Locational Endpoint", "endpointUrl": "https://australia-southeast1-run.googleapis.com/", @@ -296,6 +307,11 @@ "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", @@ -720,7 +736,7 @@ ], "parameters": { "instanceId": { - "description": "Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent}/instances/{instance_id}.", + "description": "Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent}/instances/{instance_id}. If not provided, the server will generate a unique `instance_id`.", "location": "query", "type": "string" }, @@ -916,7 +932,7 @@ ], "parameters": { "jobId": { - "description": "Required. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}.", + "description": "Optional. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}. If not provided, the server will generate a unique `job_id`.", "location": "query", "type": "string" }, @@ -1587,7 +1603,7 @@ "type": "string" }, "serviceId": { - "description": "Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent}/services/{service_id}.", + "description": "Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent}/services/{service_id}. If not provided, the server will generate a unique `service_id`.", "location": "query", "type": "string" }, @@ -1605,7 +1621,8 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "delete": { @@ -1640,7 +1657,8 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "get": { @@ -1665,7 +1683,9 @@ "$ref": "GoogleCloudRunV2Service" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "getIamPolicy": { @@ -1696,7 +1716,9 @@ "$ref": "GoogleIamV1Policy" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "list": { @@ -1737,7 +1759,9 @@ "$ref": "GoogleCloudRunV2ListServicesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] }, "patch": { @@ -1754,6 +1778,11 @@ "location": "query", "type": "boolean" }, + "forceNewRevision": { + "description": "Optional. If set to true, a new revision will be created from the template even if the system doesn't detect any changes from the previously deployed revision. This may be useful for cases where the underlying resources need to be recreated or reinitialized. For example if the image is specified by label, but the underlying image digest has changed) or if the container performs deployment initialization work that needs to be performed again.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Identifier. The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", "location": "path", @@ -1781,7 +1810,8 @@ "$ref": "GoogleLongrunningOperation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "setIamPolicy": { @@ -1809,7 +1839,8 @@ "$ref": "GoogleIamV1Policy" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run" ] }, "testIamPermissions": { @@ -1837,7 +1868,9 @@ "$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/run", + "https://www.googleapis.com/auth/run.readonly" ] } }, @@ -2006,7 +2039,7 @@ "type": "boolean" }, "workerPoolId": { - "description": "Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent}/workerPools/{worker_pool_id}`.", + "description": "Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent}/workerPools/{worker_pool_id}`. If not provided, the server will generate a unique `worker_pool_id`.", "location": "query", "type": "string" } @@ -2373,7 +2406,7 @@ } } }, - "revision": "20260123", + "revision": "20260213", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -2518,7 +2551,7 @@ "id": "GoogleCloudRunV2CloudSqlInstance", "properties": { "instances": { - "description": "The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}", + "description": "A list of Cloud SQL instance connection names. Cloud Run uses these to establish connections to the specified Cloud SQL instances. While the SQL instance name itself is unique within a project, the full connection name requires the location for proper routing. Format: `{project}:{location}:{instance}` Example: `my-project:us-central1:my-instance` You can find this value on the instance's **Overview** page in the Google Cloud console or by using the following `gcloud` command: ```sh gcloud sql instances describe INSTANCE_NAME \\ --format='value(connectionName)' ``` Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.", "items": { "type": "string" }, @@ -3570,6 +3603,11 @@ "description": "Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true }, + "timeout": { + "description": "Optional. Duration the instance may be active before the system will shut it down.", + "format": "google-duration", + "type": "string" + }, "uid": { "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", "readOnly": true, @@ -4156,7 +4194,7 @@ "type": "array" }, "containers": { - "description": "Holds the single container that defines the unit of execution for this Revision.", + "description": "Holds the list which define the units of execution for this Revision.", "items": { "$ref": "GoogleCloudRunV2Container" }, @@ -4365,6 +4403,16 @@ "description": "Settings for revision-level scaling settings.", "id": "GoogleCloudRunV2RevisionScaling", "properties": { + "concurrencyUtilization": { + "description": "Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.4` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling.", + "format": "float", + "type": "number" + }, + "cpuUtilization": { + "description": "Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.4` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling.", + "format": "float", + "type": "number" + }, "maxInstanceCount": { "description": "Optional. Maximum number of serving instances that this resource should have. When unspecified, the field is set to the server default value of 100. For more information see https://cloud.google.com/run/docs/configuring/max-instances", "format": "int32", @@ -4410,7 +4458,7 @@ "type": "string" }, "containers": { - "description": "Holds the single container that defines the unit of execution for this Revision.", + "description": "Holds the list which define the units of execution for this Revision.", "items": { "$ref": "GoogleCloudRunV2Container" }, diff --git a/discovery/saasservicemgmt-v1beta1.json b/discovery/saasservicemgmt-v1beta1.json index cf9bc8ebaeb..b6914ae5525 100644 --- a/discovery/saasservicemgmt-v1beta1.json +++ b/discovery/saasservicemgmt-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "saasservicemgmt.projects.locations.list", @@ -1804,7 +1804,7 @@ } } }, - "revision": "20251207", + "revision": "20260128", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -2313,6 +2313,12 @@ "readOnly": true, "type": "string" }, + "deleteTime": { + "description": "Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "effectiveUnitFilter": { "description": "Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here.", "readOnly": true, @@ -2556,7 +2562,7 @@ "id": "RolloutStats", "properties": { "operationsByState": { - "description": "Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - \"SCHEDULED\" - \"PENDING\" - \"RUNNING\" - \"SUCCEEDED\" - \"FAILED\" - \"CANCELLED\"", + "description": "Optional. Output only. Unordered list. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - \"SCHEDULED\" - \"PENDING\" - \"RUNNING\" - \"SUCCEEDED\" - \"FAILED\" - \"CANCELLED\"", "items": { "$ref": "Aggregate" }, @@ -3081,6 +3087,12 @@ "readOnly": true, "type": "string" }, + "deleteTime": { + "description": "Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "deprovision": { "$ref": "Deprovision" }, diff --git a/discovery/securityposture-v1.json b/discovery/securityposture-v1.json index 7c238012d89..930537287e2 100644 --- a/discovery/securityposture-v1.json +++ b/discovery/securityposture-v1.json @@ -903,7 +903,7 @@ } } }, - "revision": "20260130", + "revision": "20260205", "rootUrl": "https://securityposture.googleapis.com/", "schemas": { "AssetDetails": { @@ -1238,6 +1238,40 @@ }, "type": "object" }, + "IacValidationFailureCriteria": { + "description": "Represents the criteria for considering an IaC validation as a failure.", + "id": "IacValidationFailureCriteria", + "properties": { + "createTime": { + "description": "Output only. The time at which the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Optional. The etag for optimistic concurrency.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the IacValidationFailureCriteria. Format: organizations/{organization}/locations/{location}/iacValidationFailureCriteria", + "type": "string" + }, + "severityCountThresholds": { + "description": "Optional. A list of severity thresholds. An IaC validation fails if any threshold is exceeded.", + "items": { + "$ref": "SeverityCountThreshold" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The time at which the resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", @@ -2070,6 +2104,36 @@ }, "type": "object" }, + "SeverityCountThreshold": { + "description": "Represents a threshold for a specific severity.", + "id": "SeverityCountThreshold", + "properties": { + "severity": { + "description": "Optional. The severity level, reusing the existing Violation.Severity.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "thresholdCount": { + "description": "Optional. If violation count meets or exceeds this threshold, validation fails.", + "format": "int32", + "type": "integer" + } + }, + "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", diff --git a/discovery/serviceconsumermanagement-v1.json b/discovery/serviceconsumermanagement-v1.json index 859352ec660..ee977081592 100644 --- a/discovery/serviceconsumermanagement-v1.json +++ b/discovery/serviceconsumermanagement-v1.json @@ -245,7 +245,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 1000. If `page_size` isn't provided or the size provided is a number larger than 1000, it's automatically set to 1000.", + "description": "Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 256. If `page_size` <= 256, the request proceeds. Else, the request fails with an `TU_INVALID_PAGE_SIZE` error.", "format": "int32", "location": "query", "type": "integer" @@ -547,7 +547,7 @@ } } }, - "revision": "20260120", + "revision": "20260210", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "AddTenantProjectRequest": { @@ -646,6 +646,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -657,6 +664,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AttachTenantProjectRequest": { "description": "Request to attach an existing project to the tenancy unit as a new tenant resource.", "id": "AttachTenantProjectRequest", diff --git a/discovery/serviceconsumermanagement-v1beta1.json b/discovery/serviceconsumermanagement-v1beta1.json index 0783217abd1..673d61325bf 100644 --- a/discovery/serviceconsumermanagement-v1beta1.json +++ b/discovery/serviceconsumermanagement-v1beta1.json @@ -724,7 +724,7 @@ } } }, - "revision": "20260120", + "revision": "20260210", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "Api": { @@ -793,6 +793,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -804,6 +811,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", diff --git a/discovery/servicedirectory-v1.json b/discovery/servicedirectory-v1.json index 51e595acab0..e7d528f70d9 100644 --- a/discovery/servicedirectory-v1.json +++ b/discovery/servicedirectory-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "servicedirectory.projects.locations.list", @@ -889,7 +889,7 @@ } } }, - "revision": "20251030", + "revision": "20260217", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/discovery/servicedirectory-v1beta1.json b/discovery/servicedirectory-v1beta1.json index d28d3a248aa..91e83f0b7ef 100644 --- a/discovery/servicedirectory-v1beta1.json +++ b/discovery/servicedirectory-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "servicedirectory.projects.locations.list", @@ -977,7 +977,7 @@ } } }, - "revision": "20251030", + "revision": "20260217", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/discovery/servicemanagement-v1.json b/discovery/servicemanagement-v1.json index 660aab8b161..b71702bfe7f 100644 --- a/discovery/servicemanagement-v1.json +++ b/discovery/servicemanagement-v1.json @@ -835,7 +835,7 @@ } } }, - "revision": "20251208", + "revision": "20260129", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -3417,7 +3417,7 @@ "description": "Additional API documentation." }, "endpoints": { - "description": "Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.", + "description": "Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. WARNING: Defining any entries in the `endpoints` list disables the automatic generation of default endpoint variations (e.g., `{service}.clients6.google.com`, `content-{service}.googleapis.com`, and mTLS variants like `{service}.mtls.googleapis.com`). To retain these default variations, you are required to explicitly include your main service endpoint (e.g., `myservice.googleapis.com`) in this list alongside any other custom endpoints (like REP, GFE, etc.).", "items": { "$ref": "Endpoint" }, @@ -3457,7 +3457,7 @@ "type": "array" }, "monitoredResources": { - "description": "Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations.", + "description": "Defines the monitored resources used by this service. This is required by the `Service.monitoring` and `Service.logging` configurations.", "items": { "$ref": "MonitoredResourceDescriptor" }, diff --git a/discovery/servicenetworking-v1.json b/discovery/servicenetworking-v1.json index d1a820cb98d..1f0b4d7eeb8 100644 --- a/discovery/servicenetworking-v1.json +++ b/discovery/servicenetworking-v1.json @@ -1034,7 +1034,7 @@ } } }, - "revision": "20260119", + "revision": "20260216", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1304,6 +1304,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -1315,6 +1322,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", diff --git a/discovery/servicenetworking-v1beta.json b/discovery/servicenetworking-v1beta.json index 1c566d5b69d..1e11be3e295 100644 --- a/discovery/servicenetworking-v1beta.json +++ b/discovery/servicenetworking-v1beta.json @@ -307,7 +307,7 @@ } } }, - "revision": "20260119", + "revision": "20260216", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -466,6 +466,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -477,6 +484,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", diff --git a/discovery/serviceusage-v1.json b/discovery/serviceusage-v1.json index 4752056cc73..b595043c52f 100644 --- a/discovery/serviceusage-v1.json +++ b/discovery/serviceusage-v1.json @@ -431,7 +431,7 @@ } } }, - "revision": "20260120", + "revision": "20260210", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -638,6 +638,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -649,6 +656,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", diff --git a/discovery/serviceusage-v1beta1.json b/discovery/serviceusage-v1beta1.json index 9c4c473c493..1361cdab900 100644 --- a/discovery/serviceusage-v1beta1.json +++ b/discovery/serviceusage-v1beta1.json @@ -969,7 +969,7 @@ } } }, - "revision": "20260120", + "revision": "20260210", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -1176,6 +1176,13 @@ "description": "The type of this aspect configuration.", "type": "string" }, + "rules": { + "description": "Optional. Rules of the Configuration.", + "items": { + "$ref": "AspectRule" + }, + "type": "array" + }, "spec": { "additionalProperties": { "description": "Properties of the object.", @@ -1187,6 +1194,25 @@ }, "type": "object" }, + "AspectRule": { + "description": "Rule-based configuration for an aspect.", + "id": "AspectRule", + "properties": { + "config": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`.", + "type": "object" + }, + "selector": { + "description": "Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, "AuthProvider": { "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "id": "AuthProvider", diff --git a/discovery/solar-v1.json b/discovery/solar-v1.json index 32906d9ad16..7b86ee0289e 100644 --- a/discovery/solar-v1.json +++ b/discovery/solar-v1.json @@ -304,7 +304,7 @@ } } }, - "revision": "20260125", + "revision": "20260208", "rootUrl": "https://solar.googleapis.com/", "schemas": { "BuildingInsights": { @@ -454,7 +454,7 @@ "type": "string" }, "rgbUrl": { - "description": "The URL for an image of RGB data (aerial photo) of the region.", + "description": "The URL for an image of RGB data (aerial or satellite photo) of the region.", "type": "string" } }, diff --git a/discovery/sqladmin-v1.json b/discovery/sqladmin-v1.json index df3b5956a31..54120df7ad5 100644 --- a/discovery/sqladmin-v1.json +++ b/discovery/sqladmin-v1.json @@ -1797,41 +1797,6 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, - "restoreBackupMcp": { - "description": "Restores a backup of a Cloud SQL instance for Model Context Protocol (MCP) server.", - "flatPath": "v1/projects/{targetProject}/instances/{targetInstance}:restoreBackupMcp", - "httpMethod": "POST", - "id": "sql.instances.restoreBackupMcp", - "parameterOrder": [ - "targetProject", - "targetInstance" - ], - "parameters": { - "targetInstance": { - "description": "Required. Cloud SQL instance ID of the target. This does not include the project ID.", - "location": "path", - "required": true, - "type": "string" - }, - "targetProject": { - "description": "Required. Project ID of the target project.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "v1/projects/{targetProject}/instances/{targetInstance}:restoreBackupMcp", - "request": { - "$ref": "SqlInstancesRestoreBackupMcpRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/sqlservice.admin" - ] - }, "rotateServerCa": { "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCa", @@ -2808,6 +2773,11 @@ "location": "path", "required": true, "type": "string" + }, + "revokeExistingRoles": { + "description": "Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles.", + "location": "query", + "type": "boolean" } }, "path": "v1/projects/{project}/instances/{instance}/users", @@ -2825,7 +2795,7 @@ } } }, - "revision": "20260119", + "revision": "20260204", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -3022,7 +2992,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3075,6 +3048,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3128,7 +3104,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "readOnly": true, "type": "string" @@ -3487,7 +3466,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3540,6 +3522,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3593,7 +3578,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "readOnly": true, "type": "string" @@ -3775,6 +3763,14 @@ "description": "Required. Name of the Cloud SQL instance to be created as a clone.", "type": "string" }, + "destinationNetwork": { + "description": "Optional. The fully qualified URI of the VPC network to which the cloned instance will be connected via Private Services Access for private IP. For example:`projects/my-network-project/global/networks/my-network`. This field is only required for cross-project cloning.", + "type": "string" + }, + "destinationProject": { + "description": "Optional. The project ID of the destination project where the cloned instance will be created. To perform a cross-project clone, this field is required. If not specified, the clone is created in the same project as the source instance.", + "type": "string" + }, "kind": { "description": "This is always `sql#cloneContext`.", "type": "string" @@ -3939,7 +3935,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3992,6 +3991,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4045,7 +4047,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -4347,7 +4352,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -4400,6 +4408,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4453,7 +4464,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -5325,7 +5339,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -5378,6 +5395,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -5431,7 +5451,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -7182,7 +7205,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -7235,6 +7261,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -7288,7 +7317,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" } @@ -8234,25 +8266,6 @@ "properties": {}, "type": "object" }, - "SqlInstancesRestoreBackupMcpRequest": { - "description": "Instance restore backup request for MCP.", - "id": "SqlInstancesRestoreBackupMcpRequest", - "properties": { - "backupId": { - "description": "Required. The identifier of the backup to restore. This will be one of the following: 1. An int64 containing a backup_run_id. 2. A backup name of the format 'projects/{project}/backups/{backup-uid}'. 3. A backupDR name of the format 'projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup-uid}'.", - "type": "string" - }, - "sourceInstance": { - "description": "Optional. The Cloud SQL instance ID of the source instance containing the backup. Only necessary if the backup_id is a backup_run_id.", - "type": "string" - }, - "sourceProject": { - "description": "Required. The project ID of the source instance containing the backup.", - "type": "string" - } - }, - "type": "object" - }, "SqlInstancesStartExternalSyncRequest": { "description": "Instance start external sync request.", "id": "SqlInstancesStartExternalSyncRequest", diff --git a/discovery/sqladmin-v1beta4.json b/discovery/sqladmin-v1beta4.json index 390c4bc51c4..2f6dcc930d4 100644 --- a/discovery/sqladmin-v1beta4.json +++ b/discovery/sqladmin-v1beta4.json @@ -2775,7 +2775,7 @@ "type": "string" }, "revokeExistingRoles": { - "description": "Optional. revoke the existing roles granted to the user.", + "description": "Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles.", "location": "query", "type": "boolean" } @@ -2795,7 +2795,7 @@ } } }, - "revision": "20260106", + "revision": "20260204", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2992,7 +2992,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3045,6 +3048,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3098,7 +3104,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "readOnly": true, "type": "string" @@ -3457,7 +3466,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3510,6 +3522,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3563,7 +3578,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "readOnly": true, "type": "string" @@ -3745,6 +3763,14 @@ "description": "Name of the Cloud SQL instance to be created as a clone.", "type": "string" }, + "destinationNetwork": { + "description": "Optional. The fully qualified URI of the VPC network to which the cloned instance will be connected via Private Services Access for private IP. For example:`projects/my-network-project/global/networks/my-network`. This field is only required for cross-project cloning.", + "type": "string" + }, + "destinationProject": { + "description": "Optional. The project ID of the destination project where the cloned instance will be created. To perform a cross-project clone, this field is required. If not specified, the clone is created in the same project as the source instance.", + "type": "string" + }, "kind": { "description": "This is always `sql#cloneContext`.", "type": "string" @@ -3909,7 +3935,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -3962,6 +3991,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4015,7 +4047,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -4317,7 +4352,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -4370,6 +4408,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -4423,7 +4464,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -5296,7 +5340,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -5349,6 +5396,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -5402,7 +5452,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" }, @@ -7153,7 +7206,10 @@ "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", - "SQLSERVER_2022_WEB" + "SQLSERVER_2022_WEB", + "SQLSERVER_2025_STANDARD", + "SQLSERVER_2025_ENTERPRISE", + "SQLSERVER_2025_EXPRESS" ], "enumDeprecated": [ false, @@ -7206,6 +7262,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -7259,7 +7318,10 @@ "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", - "The database version is SQL Server 2022 Web." + "The database version is SQL Server 2022 Web.", + "The database version is SQL Server 2025 Standard.", + "The database version is SQL Server 2025 Enterprise.", + "The database version is SQL Server 2025 Express." ], "type": "string" } diff --git a/discovery/storage-v1.json b/discovery/storage-v1.json index 31a10736f9a..66005b6fd3a 100644 --- a/discovery/storage-v1.json +++ b/discovery/storage-v1.json @@ -253,7 +253,7 @@ "location": "northamerica-south1" } ], - "etag": "\"3130353639373731363639313032363439383430\"", + "etag": "\"31363539393037303230303637393438373935\"", "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" @@ -1784,6 +1784,50 @@ "https://www.googleapis.com/auth/devstorage.read_write" ] }, + "deleteRecursive": { + "description": "Deletes a folder recursively. Only applicable to buckets with hierarchical namespace enabled.", + "httpMethod": "POST", + "id": "storage.folders.deleteRecursive", + "parameterOrder": [ + "bucket", + "folder" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket in which the folder resides.", + "location": "path", + "required": true, + "type": "string" + }, + "folder": { + "description": "Name of a folder.", + "location": "path", + "required": true, + "type": "string" + }, + "ifMetagenerationMatch": { + "description": "If set, only deletes the folder if its metageneration matches this value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationNotMatch": { + "description": "If set, only deletes the folder if its metageneration does not match this value.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/folders/{folder}/deleteRecursive", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "get": { "description": "Returns metadata for the specified folder. Only applicable to buckets with hierarchical namespace enabled.", "httpMethod": "GET", @@ -4561,7 +4605,7 @@ } } }, - "revision": "20260131", + "revision": "20260204", "rootUrl": "https://storage.googleapis.com/", "schemas": { "AdvanceRelocateBucketOperationRequest": { diff --git a/discovery/storagebatchoperations-v1.json b/discovery/storagebatchoperations-v1.json index 6e3c928a330..e38b7173cd1 100644 --- a/discovery/storagebatchoperations-v1.json +++ b/discovery/storagebatchoperations-v1.json @@ -569,7 +569,7 @@ } } }, - "revision": "20260128", + "revision": "20260204", "rootUrl": "https://storagebatchoperations.googleapis.com/", "schemas": { "Bucket": { @@ -893,6 +893,11 @@ "readOnly": true, "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.", + "readOnly": true, + "type": "boolean" + }, "loggingConfig": { "$ref": "LoggingConfig", "description": "Optional. Logging configuration." @@ -926,14 +931,16 @@ "RUNNING", "SUCCEEDED", "CANCELED", - "FAILED" + "FAILED", + "QUEUED" ], "enumDescriptions": [ "Default value. This value is unused.", "In progress.", "Completed successfully.", "Cancelled by the user.", - "Terminated due to an unrecoverable failure." + "Terminated due to an unrecoverable failure.", + "Queued but not yet started." ], "readOnly": true, "type": "string" diff --git a/discovery/threatintelligence-v1beta.json b/discovery/threatintelligence-v1beta.json index 987dcf795d5..8c0570a1da2 100644 --- a/discovery/threatintelligence-v1beta.json +++ b/discovery/threatintelligence-v1beta.json @@ -14,7 +14,29 @@ "canonicalName": "Threat Intelligence Service", "description": "threatintelligence.googleapis.com API.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/threatintelligence/docs/reference/rest", + "documentationLink": "https://docs.cloud.google.com/threatintelligence/", + "endpoints": [ + { + "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, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -106,6 +128,36 @@ "protocol": "rest", "resources": { "projects": { + "methods": { + "generateOrgProfile": { + "description": "Triggers the generation of a Customer Profile for a project.", + "flatPath": "v1beta/projects/{projectsId}:generateOrgProfile", + "httpMethod": "POST", + "id": "threatintelligence.projects.generateOrgProfile", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the project to generate the profile for. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:generateOrgProfile", + "request": { + "$ref": "GenerateOrgProfileConfigurationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "alerts": { "methods": { @@ -378,62 +430,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "refreshUriStatus": { - "description": "Return the status of a URI submitted to Google WebRisk.", - "flatPath": "v1beta/projects/{projectsId}/alerts/{alertsId}:refreshUriStatus", - "httpMethod": "POST", - "id": "threatintelligence.projects.alerts.refreshUriStatus", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Name of alert to refresh status from WebRisk", - "location": "path", - "pattern": "^projects/[^/]+/alerts/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}:refreshUriStatus", - "request": { - "$ref": "RefreshAlertUriStatusRequest" - }, - "response": { - "$ref": "RefreshAlertUriStatusResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "reportAlertUri": { - "description": "Report the URI associated with an alert to Google WebRisk.", - "flatPath": "v1beta/projects/{projectsId}/alerts/{alertsId}:reportAlertUri", - "httpMethod": "POST", - "id": "threatintelligence.projects.alerts.reportAlertUri", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Name of alert to submit to WebRisk.", - "location": "path", - "pattern": "^projects/[^/]+/alerts/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}:reportAlertUri", - "request": { - "$ref": "ReportAlertUriRequest" - }, - "response": { - "$ref": "ReportAlertUriResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "resolve": { "description": "Marks an alert to closed state - RESOLVED.", "flatPath": "v1beta/projects/{projectsId}/alerts/{alertsId}:resolve", @@ -836,24 +832,9 @@ } } }, - "revision": "20260122", + "revision": "20260218", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { - "AffectedSoftware": { - "description": "The software that is affected by the vulnerability.", - "id": "AffectedSoftware", - "properties": { - "product": { - "description": "Optional. The product of the software.", - "type": "string" - }, - "vendor": { - "description": "Optional. The vendor of the software.", - "type": "string" - } - }, - "type": "object" - }, "Alert": { "description": "Stateful object representing a group of Findings. Key feature to an Alert is that it expresses the user's intent towards the findings of that group, even those that haven't occurred yet.", "id": "Alert", @@ -862,14 +843,6 @@ "description": "Optional. AI summary of the finding.", "type": "string" }, - "assets": { - "description": "Output only. Assets that are impacted by this alert.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, "audit": { "$ref": "Audit", "description": "Output only. Audit information for the alert.", @@ -915,6 +888,12 @@ "readOnly": true, "type": "string" }, + "findingCount": { + "description": "Output only. The number of findings associated with this alert.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "findings": { "description": "Output only. Findings that are covered by this alert.", "items": { @@ -996,14 +975,6 @@ "insiderThreat": { "$ref": "InsiderThreatAlertDetail", "description": "Insider Threat alert detail type." - }, - "suspiciousDomain": { - "$ref": "SuspiciousDomainAlertDetail", - "description": "Domain Monitoring alert detail type." - }, - "targetTechnology": { - "$ref": "TargetTechnologyAlertDetail", - "description": "Technology Watchlist alert detail type." } }, "type": "object" @@ -1100,133 +1071,6 @@ }, "type": "object" }, - "AssetDiscoveryConfig": { - "description": "Customer defined Configuration for asset discovery.", - "id": "AssetDiscoveryConfig", - "properties": { - "lastScanCompleteTime": { - "description": "Output only. Timestamp of the last scan completed. This field is set by the system and cannot be modified by the user.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "lastScanStartTime": { - "description": "Output only. Timestamp of the last scan started - used for scheduling the next scan. This field is set by the system and cannot be modified by the user.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "scanFrequency": { - "description": "Required. Frequency at which the scheduled discovery scan should be run. If not specified, the default frequency is DAILY.", - "enum": [ - "ASSET_DISCOVERY_SCAN_FREQUENCY_UNSPECIFIED", - "ON_DEMAND", - "WEEKLY", - "DAILY", - "MONTHLY" - ], - "enumDescriptions": [ - "Default value, should never be set.", - "Scan is triggered on demand.", - "Scan is triggered weekly.", - "Scan is triggered daily.", - "Scan is triggered monthly." - ], - "type": "string" - }, - "scopeExclusionAssets": { - "description": "Optional. Seed assets that are out of scope for the scheduled discovery scan.", - "items": { - "$ref": "AssetDiscoverySeed" - }, - "type": "array" - }, - "seedAssets": { - "description": "Required. Seed assets for the scheduled discovery scan. At least one seed asset is required.", - "items": { - "$ref": "AssetDiscoverySeed" - }, - "type": "array" - }, - "workflow": { - "description": "Required. Workflow to be used for the scheduled discovery scan. If not specified, the default workflow is EXTERNAL_DISCOVERY.", - "enum": [ - "ASSET_DISCOVERY_WORKFLOW_UNSPECIFIED", - "EXTERNAL_DISCOVERY", - "EXTERNAL_DISCOVERY_AND_ASSESSMENT", - "MOBILE_APP_DISCOVERY" - ], - "enumDescriptions": [ - "Default value, should never be set.", - "Discovery workflow that only discovers external facing assets.", - "Discovery workflow that discovers external facing assets and generates relevant alerts on them.", - "Discovery workflow that discovers mobile app assets." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssetDiscoverySeed": { - "description": "Seed assets for asset discovery.", - "id": "AssetDiscoverySeed", - "properties": { - "seedType": { - "description": "Required. Type of the seed asset.", - "enum": [ - "ASSET_DISCOVERY_SEED_TYPE_UNSPECIFIED", - "IP_ADDRESS", - "NETWORK_SERVICE" - ], - "enumDescriptions": [ - "Default value, should never be set.", - "Seed asset is an IP address.", - "Seed asset is a network service." - ], - "type": "string" - }, - "seedValue": { - "description": "Required. Value for the seed asset. Could be an IP address, network service, email addresses, etc.", - "type": "string" - } - }, - "type": "object" - }, - "Association": { - "description": "Represents an association with a vulnerability.", - "id": "Association", - "properties": { - "id": { - "description": "Required. The ID of the association.", - "type": "string" - }, - "type": { - "description": "Required. The type of the association.", - "enum": [ - "THREAT_INTEL_OBJECT_TYPE_UNSPECIFIED", - "THREAT_INTEL_OBJECT_TYPE_THREAT_ACTOR", - "THREAT_INTEL_OBJECT_TYPE_MALWARE", - "THREAT_INTEL_OBJECT_TYPE_REPORT", - "THREAT_INTEL_OBJECT_TYPE_CAMPAIGN", - "THREAT_INTEL_OBJECT_TYPE_IOC_COLLECTION", - "THREAT_INTEL_OBJECT_TYPE_SOFTWARE_AND_TOOLKITS", - "THREAT_INTEL_OBJECT_TYPE_VULNERABILITY" - ], - "enumDescriptions": [ - "Unspecified object type.", - "Threat actor object type.", - "Malware object type.", - "Report object type.", - "Campaign object type.", - "IoC Collection object type.", - "Software and toolkits object type.", - "Vulnerability object type." - ], - "type": "string" - } - }, - "type": "object" - }, "Audit": { "description": "Tracks basic CRUD facts.", "id": "Audit", @@ -1256,73 +1100,6 @@ }, "type": "object" }, - "CompromisedCredentialsFindingDetail": { - "description": "Sample compromised credential detail.", - "id": "CompromisedCredentialsFindingDetail", - "properties": { - "author": { - "deprecated": true, - "description": "Optional. Reference to the author this detail was extracted from. This is deprecated and will be removed.", - "type": "string" - }, - "credentialService": { - "description": "Optional. Claimed site the credential is intended for.", - "type": "string" - }, - "darkWebDoc": { - "deprecated": true, - "description": "Optional. Reference to the dark web document. This is deprecated and will be removed.", - "type": "string" - }, - "externalReferenceUri": { - "description": "Optional. This will contain a link to the external reference for this credential. If set, this is a link back to the DTM product to allow customers to get additional context about this finding.", - "type": "string" - }, - "fileDump": { - "description": "Optional. If the source of the credential was from a file dump this will contain the name of the file the credential was found in. This can be used by customers for context on where the credential was found and to try to find other references to the file in the wild.", - "type": "string" - }, - "fileDumpHashes": { - "description": "Optional. A list of hashes of the file dump. These will be prefixed with the algorithm. Example: \"sha256:\"", - "items": { - "type": "string" - }, - "type": "array" - }, - "fileDumpSizeBytes": { - "description": "Optional. If file_dump is set this will contain the size of the dump file in bytes. File dumps can be very large.", - "format": "int64", - "type": "string" - }, - "forum": { - "deprecated": true, - "description": "Optional. Reference to the forum this detail was extracted from. This is deprecated and will be removed.", - "type": "string" - }, - "malwareFamily": { - "description": "Optional. This will indicate the malware family that leaked this credential, if known.", - "type": "string" - }, - "postedTime": { - "description": "Optional. This indicates our best guess as to when the credential was leaked to the particular venue that triggered this finding. This is not necessarily the time the credential was actually leaked and it may not always be be accurate.", - "format": "google-datetime", - "type": "string" - }, - "sourceUri": { - "description": "Optional. If the source of a credential is publicly addressable this will contain a uri to the where the credential was found.", - "type": "string" - }, - "userKey": { - "description": "Required. This field will always be set and will be used to identify the user named in the credential leak. In cases where customers are authorized to see the actual user key this will be set to the actual user key. In cases where the customer is not authorized to see the actual user key this will be set to a hash of the user key. The hashed value is an intentionally opaque value that is not intended to be used for any other purpose than to uniquely identify the user in the context of this specific customer, service domain, and user name. Example: \"user@example.com\" or \"redacted:\".", - "type": "string" - }, - "userSecretEvidence": { - "description": "Optional. Claimed evidence of the password/secret. This will always be hashed. In the event where the plaintext password is known it will be set to \"redacted:\" where the same hash will be presented when the same password is found for the same organization for the same service. Redaction is done by hashing the password with a salt that is unique to the customer organization and service. In the event where the plaintext password is not known it will be set to \":\" where the algorithm is the hash algorithm used and the hash is the hash of the password using that algorithm. In the event we don't know the exact algorithm used we will set it to \"hashed:\".", - "type": "string" - } - }, - "type": "object" - }, "Configuration": { "description": "A configuration represents a behavior an engine should follow when producing new findings.", "id": "Configuration", @@ -1346,7 +1123,7 @@ "type": "string" }, "name": { - "description": "Identifier. Server generated name for the configuration. format is vaults/{vault}/configurations/{configuration}", + "description": "Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration}", "type": "string" }, "provider": { @@ -1380,10 +1157,6 @@ "description": "Wrapper class that contains the union struct for all the various configuration detail specific classes.", "id": "ConfigurationDetail", "properties": { - "assetDiscovery": { - "$ref": "AssetDiscoveryConfig", - "description": "Asset Discovery detail config." - }, "customerProfile": { "$ref": "CustomerProfileConfig", "description": "Customer Profile detail config." @@ -1392,18 +1165,6 @@ "description": "Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union.", "readOnly": true, "type": "string" - }, - "domainMonitoring": { - "$ref": "DomainMonitoringConfig", - "description": "Domain Monitoring detail config." - }, - "initialAccessBroker": { - "$ref": "InitialAccessBrokerConfig", - "description": "Initial Access Broker (IAB) detail config." - }, - "technologyWatchlist": { - "$ref": "TechnologyWatchListConfig", - "description": "Technology Watchlist detail config." } }, "type": "object" @@ -1419,7 +1180,7 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the ConfigurationRevision Format: vaults//configurations//revisions/ OR projects//configurations//revisions/", + "description": "Identifier. The name of the ConfigurationRevision Format: projects//configurations//revisions/", "type": "string" }, "snapshot": { @@ -1841,88 +1602,6 @@ }, "type": "object" }, - "DomainMonitoringConfig": { - "description": "Any account-level configuration options will go here.", - "id": "DomainMonitoringConfig", - "properties": { - "domains": { - "description": "The domains to use as \"seeds\" for Suspicious Domain Monitoring.", - "items": { - "$ref": "DomainMonitoringDomain" - }, - "type": "array" - } - }, - "type": "object" - }, - "DomainMonitoringDomain": { - "description": "A Domain Monitoring \"domain\"", - "id": "DomainMonitoringDomain", - "properties": { - "domain": { - "description": "The domain name to match against.", - "type": "string" - } - }, - "type": "object" - }, - "EntityProfile": { - "description": "EntityProfile represents the structured profile of a customer entity, containing key identifiers and descriptive attributes optimized for contextual matching against threat intelligence, particularly Initial Access Broker (IAB) offerings.", - "id": "EntityProfile", - "properties": { - "countries": { - "description": "Optional. List of specific countries of operation. Purpose: Essential for matching geographically targeted threats (e.g., actor specifies victims in 'DE'). Use ISO 3166-1 alpha-2 codes (e.g., \"US\", \"GB\", \"JP\", \"DE\").", - "items": { - "type": "string" - }, - "type": "array" - }, - "domains": { - "description": "Required. List of primary internet domain names associated with the entity. Purpose: Crucial for explicit matching against domains mentioned in threat intel and can inform semantic matching. Must contain at least one domain. Example: [\"acme.com\", \"acme.co.uk\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "industries": { - "description": "Optional. List of primary industry sectors the entity operates within. Purpose: Crucial for matching industry-specific threats and understanding attacker motivation. Use standardized GTI Industry Classification values. Example: [\"Technology\", \"Financial Services\", \"Healthcare\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Required. Canonical name of the entity (e.g., the legal company name). Purpose: Primary identifier for the customer.", - "type": "string" - }, - "operationalAreas": { - "description": "Optional. Specific geographic areas of *significant* operational concentration or strategic importance below the country level, if clearly identifiable and relevant. Purpose: Useful for highly localized threats, less commonly populated than `countries`. Example: [\"Silicon Valley\", \"Frankfurt am Main Metropolitan Region\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "profileSummary": { - "description": "Required. A concise, machine-generated (e.g., LLM) or human-curated summary of the entity. Purpose: Captures the semantic essence for embedding generation and similarity matching. Should synthesize key aspects like core business, scale, and market. Example: \"Acme Corporation is a large, US-based multinational conglomerate operating...\"", - "type": "string" - }, - "regions": { - "description": "Optional. List of primary geopolitical regions where the entity has significant operations. Purpose: Filters geographically relevant threats. Use standardized names or codes where possible (e.g., \"North America\", \"EMEA\", \"APAC\", UN M49 codes).", - "items": { - "type": "string" - }, - "type": "array" - }, - "subIndustries": { - "description": "Optional. List of more granular sub-industries, if applicable and known. Purpose: Provides finer-grained context for more specific threat matching. Should align with GTI classifications if possible. Example: [\"Semiconductors\", \"Cloud Computing Services\", \"Investment Banking\"]", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "EnumerateAlertFacetsResponse": { "description": "Response message for EnumerateAlertFacets.", "id": "EnumerateAlertFacetsResponse", @@ -2021,10 +1700,6 @@ "description": "Optional. Name of the alert that this finding is bound to.", "type": "string" }, - "asset": { - "description": "Optional. Optional - asset name if known. Format: vaults/{vault}/assets/{asset}", - "type": "string" - }, "audit": { "$ref": "Audit", "description": "Output only. Audit data about the finding.", @@ -2045,12 +1720,8 @@ "description": "Required. A short descriptive title for the finding <= 250 chars. EX: \"Actor 'baddy' offering $1000 for credentials of 'goodguy'\".", "type": "string" }, - "issue": { - "description": "Optional. Optional - name of the issue that this finding is bound to. Format: vaults/{vault}/issues/{issue}", - "type": "string" - }, "name": { - "description": "Identifier. Server generated name for the finding (leave clear during creation). Format: vaults/{vault}/findings/{finding}", + "description": "Identifier. Server generated name for the finding (leave clear during creation). Format: projects/{project}/findings/{finding}", "type": "string" }, "provider": { @@ -2089,10 +1760,6 @@ "description": "Wrapper class that contains the union struct for all the various findings detail specific classes.", "id": "FindingDetail", "properties": { - "compromisedCredentials": { - "$ref": "CompromisedCredentialsFindingDetail", - "description": "Compromised Credentials detail type." - }, "dataLeak": { "$ref": "DataLeakFindingDetail", "description": "Data Leak finding detail type." @@ -2102,10 +1769,6 @@ "readOnly": true, "type": "string" }, - "inbandVulnerability": { - "$ref": "InbandVulnerabilityFindingDetail", - "description": "Inband vulnerability detail type." - }, "initialAccessBroker": { "$ref": "InitialAccessBrokerFindingDetail", "description": "Initial Access Broker finding detail type." @@ -2113,145 +1776,43 @@ "insiderThreat": { "$ref": "InsiderThreatFindingDetail", "description": "Insider Threat finding detail type." - }, - "misconfiguration": { - "$ref": "MisconfigurationFindingDetail", - "description": "Misconfiguration finding detail type." - }, - "suspiciousDomain": { - "$ref": "SuspiciousDomainFindingDetail", - "description": "Domain Monitoring finding detail type." - }, - "targetTechnology": { - "$ref": "TargetTechnologyFindingDetail", - "description": "Technology Watchlist finding detail type." } }, "type": "object" }, - "InbandVulnerability": { - "description": "Fleshed out vulnerability object that includes enough details to fill out a vulnerability specific view for an issue.", - "id": "InbandVulnerability", + "GenerateOrgProfileConfigurationRequest": { + "description": "Request message for GenerateOrgProfileConfiguration.", + "id": "GenerateOrgProfileConfigurationRequest", "properties": { - "affectedSoftware": { - "description": "Optional. The software that is affected by the vulnerability.", - "items": { - "$ref": "AffectedSoftware" - }, - "type": "array" + "displayName": { + "description": "Required. The display name of the organization to generate the profile for.", + "type": "string" }, - "authors": { - "description": "Optional. The authors of the vulnerability detection.", + "domain": { + "description": "Required. The domain of the organization to generate the profile for.", + "type": "string" + } + }, + "type": "object" + }, + "InitialAccessBrokerAlertDetail": { + "description": "Captures the specific details of InitialAccessBroker (IAB) alert.", + "id": "InitialAccessBrokerAlertDetail", + "properties": { + "discoveryDocumentIds": { + "description": "Required. Array of ids to accommodate multiple discovery documents", "items": { "type": "string" }, "type": "array" }, - "cveId": { - "description": "Required. The CVE ID of the vulnerability.", - "type": "string" - }, - "cvssV31Score": { - "description": "Required. The CVSS V3.1 score (Base score)for the vulnerability. ( )", - "format": "float", - "type": "number" - }, - "cvssV31ScoreTemporal": { - "description": "Optional. Temporal CVSS V3.1 score for the vulnerability.", - "format": "float", - "type": "number" - }, - "description": { - "description": "Optional. The human readable description. This can be basic HTML formatted text.", - "type": "string" - }, - "disclosureTime": { - "description": "Optional. The date the vulnerability was first disclosed.", - "format": "google-datetime", - "type": "string" - }, - "exploitationState": { - "description": "Optional. Exploitation state of the vulnerability, for example \"Available\".", - "type": "string" - }, - "externalVulnerabilityId": { - "description": "Required. The external ID of the vulnerability.", - "type": "string" - }, - "isExploitedWild": { - "description": "Optional. Whether this is exploited in the wild.", - "type": "boolean" - }, - "referenceUrls": { - "description": "Optional. Reference URLs to the vulnerability.", - "items": { - "type": "string" - }, - "type": "array" - }, - "remediation": { - "description": "Optional. The human readable remediation recommendation. This can be basic HTML formatted text.", - "type": "string" - }, - "riskRating": { - "description": "Optional. Risk rating for the vulnerability, for example \"High\".", - "type": "string" - }, - "title": { - "description": "Optional. Human readable name for the vulnerability.", - "type": "string" - } - }, - "type": "object" - }, - "InbandVulnerabilityFindingDetail": { - "description": "This is a temporary detail type that will be used to support vulnerabilities until the engines start using the full vulnerability objects. The \"Inband\" refers to the fact that all vulnerability details are included with every finding.", - "id": "InbandVulnerabilityFindingDetail", - "properties": { - "formattedProofDetails": { - "description": "Optional. A short description of the proof of the vulnerability.", - "type": "string" - }, - "requestUri": { - "description": "Optional. The URI that lead to this detection, if appropriate.", - "type": "string" - }, - "vulnerability": { - "$ref": "InbandVulnerability", - "description": "Required. Vulnerability metadata." - } - }, - "type": "object" - }, - "InitialAccessBrokerAlertDetail": { - "description": "Captures the specific details of InitialAccessBroker (IAB) alert.", - "id": "InitialAccessBrokerAlertDetail", - "properties": { - "discoveryDocumentIds": { - "description": "Required. Array of ids to accommodate multiple discovery documents", - "items": { - "type": "string" - }, - "type": "array" - }, - "severity": { - "description": "Required. IAB specific severity", + "severity": { + "description": "Required. IAB specific severity", "type": "string" } }, "type": "object" }, - "InitialAccessBrokerConfig": { - "description": "InitialAccessBrokerConfig is specific to Initial Access Broker (IAB) matching scenarios.", - "id": "InitialAccessBrokerConfig", - "properties": { - "entityProfile": { - "$ref": "EntityProfile", - "description": "Represents the comprehensive profile of the customer entity used for matching." - } - }, - "type": "object" - }, "InitialAccessBrokerFindingDetail": { "description": "A detail object for an Initial Access Broker (IAB) finding.", "id": "InitialAccessBrokerFindingDetail", @@ -2469,62 +2030,37 @@ "properties": {}, "type": "object" }, - "MisconfigurationFindingDetail": { - "description": "Misconfiguration finding detail.", - "id": "MisconfigurationFindingDetail", - "properties": { - "misconfigurationMetadata": { - "$ref": "MisconfigurationMetadata", - "description": "Required. The misconfiguration metadata." - } - }, - "type": "object" - }, - "MisconfigurationMetadata": { - "description": "Misconfiguration metadata.", - "id": "MisconfigurationMetadata", + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", "properties": { - "description": { - "description": "Optional. Description of the misconfiguration.", - "type": "string" - }, - "displayName": { - "description": "Optional. A user-friendly name for the misconfiguration.", - "type": "string" + "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" }, - "misconfigurationId": { - "description": "Required. The identifier for the misconfiguration. This is an internal name generated by the finding provider.", - "type": "string" + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." }, - "references": { - "description": "Optional. References to external resources that provide more information about the misconfiguration.", - "items": { - "$ref": "MisconfigurationReference" + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" }, - "type": "array" + "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" }, - "remediation": { - "description": "Optional. Recommended remediation steps for the misconfiguration.", - "type": "string" - }, - "vulnerableUri": { - "description": "Optional. The endpoint which was found to have the vulnerability.", - "type": "string" - } - }, - "type": "object" - }, - "MisconfigurationReference": { - "description": "A reference to an external resource that provides more information about a misconfiguration.", - "id": "MisconfigurationReference", - "properties": { - "type": { - "description": "Required. The type of the reference (e.g., \"description\", \"remediation\").", + "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" }, - "uri": { - "description": "Required. The URI of the reference.", - "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" @@ -2574,40 +2110,6 @@ }, "type": "object" }, - "RefreshAlertUriStatusRequest": { - "description": "Request message for FetchAlertUriStatus.", - "id": "RefreshAlertUriStatusRequest", - "properties": {}, - "type": "object" - }, - "RefreshAlertUriStatusResponse": { - "description": "Response message for FetchAlertUriStatus.", - "id": "RefreshAlertUriStatusResponse", - "properties": { - "state": { - "description": "Output only. Status of the alert in WebRisk.", - "enum": [ - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_UNSPECIFIED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_NOT_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_PROCESSING", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_ADDED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_REJECTED" - ], - "enumDescriptions": [ - "Unspecified status.", - "Issue has not been submitted to WebRisk.", - "Issue has been submitted to WebRisk.", - "Issue has been submitted to WebRisk and is being processed.", - "Issue has been processed by WebRisk and the domain was added to the blocklist.", - "Issue has been processed by WebRisk and was rejected." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "RelevanceAnalysis": { "description": "Structured relevance analysis for a threat.", "id": "RelevanceAnalysis", @@ -2659,40 +2161,6 @@ }, "type": "object" }, - "ReportAlertUriRequest": { - "description": "Request message for ReportAlertUri.", - "id": "ReportAlertUriRequest", - "properties": {}, - "type": "object" - }, - "ReportAlertUriResponse": { - "description": "Response message for ReportAlertUri.", - "id": "ReportAlertUriResponse", - "properties": { - "state": { - "description": "Output only. Status of the alert in WebRisk.", - "enum": [ - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_UNSPECIFIED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_NOT_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_PROCESSING", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_ADDED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_REJECTED" - ], - "enumDescriptions": [ - "Unspecified status.", - "Issue has not been submitted to WebRisk.", - "Issue has been submitted to WebRisk.", - "Issue has been submitted to WebRisk and is being processed.", - "Issue has been processed by WebRisk and the domain was added to the blocklist.", - "Issue has been processed by WebRisk and was rejected." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "SearchFindingsResponse": { "description": "Response message for SearchFindings.", "id": "SearchFindingsResponse", @@ -2754,297 +2222,33 @@ }, "type": "object" }, - "SuspiciousDomainAlertDetail": { - "description": "The alert detail for a suspicious domain finding.", - "id": "SuspiciousDomainAlertDetail", - "properties": { - "dns": { - "$ref": "SuspiciousDomainDnsDetails", - "description": "The DNS details of the suspicious domain." - }, - "domain": { - "description": "Required. The suspicious domain name.", - "type": "string" - }, - "gtiDetails": { - "$ref": "SuspiciousDomainGtiDetails", - "description": "The GTI details of the suspicious domain." - }, - "webRiskOperation": { - "description": "Output only. Name of Web Risk submission operation.", - "readOnly": true, - "type": "string" - }, - "webRiskState": { - "description": "Output only. Status of the Web Risk submission.", - "enum": [ - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_UNSPECIFIED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_NOT_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_SUBMITTED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_PROCESSING", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_ADDED", - "SUSPICIOUS_DOMAIN_WEB_RISK_STATE_REJECTED" - ], - "enumDescriptions": [ - "Unspecified status.", - "Issue has not been submitted to WebRisk.", - "Issue has been submitted to WebRisk.", - "Issue has been submitted to WebRisk and is being processed.", - "Issue has been processed by WebRisk and the domain was added to the blocklist.", - "Issue has been processed by WebRisk and was rejected." - ], - "readOnly": true, - "type": "string" - }, - "whois": { - "$ref": "SuspiciousDomainWhoIsDetails", - "description": "The whois details of the suspicious domain." - } - }, - "type": "object" - }, - "SuspiciousDomainDnsDetails": { - "description": "The DNS details of the suspicious domain.", - "id": "SuspiciousDomainDnsDetails", - "properties": { - "dnsRecords": { - "description": "The DNS records of the suspicious domain.", - "items": { - "$ref": "SuspiciousDomainDnsRecord" - }, - "type": "array" - }, - "retrievalTime": { - "description": "The time the DNS details were retrieved.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "SuspiciousDomainDnsRecord": { - "description": "The DNS record of the suspicious domain.", - "id": "SuspiciousDomainDnsRecord", - "properties": { - "record": { - "description": "The name of the DNS record.", - "type": "string" - }, - "ttl": { - "description": "The TTL of the DNS record.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type of the DNS record.", - "type": "string" - }, - "value": { - "description": "The value of the DNS record.", - "type": "string" - } - }, - "type": "object" - }, - "SuspiciousDomainFindingDetail": { - "description": "A detailed object for a suspicious Domain finding.", - "id": "SuspiciousDomainFindingDetail", - "properties": { - "dns": { - "$ref": "SuspiciousDomainDnsDetails", - "description": "The DNS details of the suspicious domain." - }, - "domain": { - "description": "Required. The suspicious domain name.", - "type": "string" - }, - "gtiDetails": { - "$ref": "SuspiciousDomainGtiDetails", - "description": "The GTI details of the suspicious domain." - }, - "matchScore": { - "description": "Required. Reference to the match score of the finding. This is a float value between 0 and 1 calculated by the matching engine.", - "format": "float", - "type": "number" - }, - "severity": { - "description": "Required. The severity of the finding. This indicates the potential impact of the threat.", - "enum": [ - "SEVERITY_UNSPECIFIED", - "LOW", - "MEDIUM", - "HIGH", - "CRITICAL" - ], - "enumDescriptions": [ - "Default value, should never be set.", - "Low severity.", - "Medium severity.", - "High severity.", - "Critical severity." - ], - "type": "string" - }, - "whois": { - "$ref": "SuspiciousDomainWhoIsDetails", - "description": "The whois details of the suspicious domain." - } - }, - "type": "object" - }, - "SuspiciousDomainGtiDetails": { - "description": "The GTI details of the suspicious domain.", - "id": "SuspiciousDomainGtiDetails", + "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": { - "threatScore": { - "description": "The threat score of the suspicious domain. The threat score is a number between 0 and 100.", + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", "type": "integer" }, - "verdict": { - "description": "Output only. The verdict of the suspicious domain.", - "enum": [ - "SUSPICIOUS_DOMAIN_GTI_VERDICT_UNSPECIFIED", - "SUSPICIOUS_DOMAIN_GTI_VERDICT_BENIGN", - "SUSPICIOUS_DOMAIN_GTI_VERDICT_UNDETECTED", - "SUSPICIOUS_DOMAIN_GTI_VERDICT_SUSPICIOUS", - "SUSPICIOUS_DOMAIN_GTI_VERDICT_MALICIOUS", - "SUSPICIOUS_DOMAIN_GTI_VERDICT_UNKNOWN" - ], - "enumDescriptions": [ - "Unspecified verdict.", - "Verdict is clean; the entity is considered harmless.", - "Verdict is undetected; no immediate evidence of malicious intent.", - "Verdict is suspicious; possible malicious activity detected.", - "Verdict is malicious; high confidence that the entity poses a threat.", - "Verdict is not applicable; not able to generate a verdict for this entity." - ], - "readOnly": true, - "type": "string" - }, - "virustotalUri": { - "description": "VirusTotal link for the domain", - "type": "string" - } - }, - "type": "object" - }, - "SuspiciousDomainWhoIsDetails": { - "description": "The whois details of the suspicious domain.", - "id": "SuspiciousDomainWhoIsDetails", - "properties": { - "retrievalTime": { - "description": "The time the whois details were retrieved.", - "format": "google-datetime", - "type": "string" - }, - "whois": { - "description": "The whois details of the suspicious domain.", - "type": "string" - } - }, - "type": "object" - }, - "TargetTechnologyAlertDetail": { - "description": "Contains details for a technology watchlist alert.", - "id": "TargetTechnologyAlertDetail", - "properties": { - "vulnerabilityMatch": { - "$ref": "VulnerabilityMatch", - "description": "Optional. The vulnerability match details." - } - }, - "type": "object" - }, - "TargetTechnologyFindingDetail": { - "description": "Contains details for a technology watchlist finding.", - "id": "TargetTechnologyFindingDetail", - "properties": { - "vulnerabilityMatch": { - "$ref": "VulnerabilityMatch", - "description": "Optional. The vulnerability match details." - } - }, - "type": "object" - }, - "TechnologyWatchListAlertThreshold": { - "description": "TechnologyWatchListAlertThreshold contains the thresholds for alerting.", - "id": "TechnologyWatchListAlertThreshold", - "properties": { - "cvssScoreMinimum": { - "description": "Optional. The minimum cvss V3 score for the alert. Ex: 7.0. Valid range is [0.0, 10.0].", - "format": "float", - "type": "number" - }, - "epssScoreMinimum": { - "description": "Optional. The minimum epss score for the alert. Ex: 0.8. Valid range is [0.0, 1.0].", - "format": "float", - "type": "number" - }, - "exploitationStates": { - "description": "Optional. The exploitation states of the alert.", + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { - "enum": [ - "EXPLOITATION_STATE_UNSPECIFIED", - "EXPLOITATION_STATE_NO_KNOWN", - "EXPLOITATION_STATE_REPORTED", - "EXPLOITATION_STATE_SUSPECTED", - "EXPLOITATION_STATE_CONFIRMED", - "EXPLOITATION_STATE_WIDESPREAD" - ], - "enumDescriptions": [ - "Unspecified exploitation state.", - "No known exploitation.", - "Exploitation has been reported.", - "Exploitation is suspected.", - "Exploitation is confirmed.", - "Widespread exploitation." - ], - "type": "string" + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" }, "type": "array" }, - "priorityMinimum": { - "description": "Optional. The minimum priority for the alert.", - "enum": [ - "PRIORITY_UNSPECIFIED", - "P0", - "P1", - "P2", - "P3", - "P4" - ], - "enumDescriptions": [ - "Unspecified priority.", - "Priority level 0.", - "Priority level 1.", - "Priority level 2.", - "Priority level 3.", - "Priority level 4." - ], + "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" }, - "TechnologyWatchListConfig": { - "description": "TechnologyWatchListConfig is the configuration for the technology watchlist.", - "id": "TechnologyWatchListConfig", - "properties": { - "alertThreshold": { - "$ref": "TechnologyWatchListAlertThreshold", - "description": "Optional. Alert thresholds to effectively reduce noise." - }, - "technologies": { - "description": "Optional. List of vendor, technology or cpe fingerprint. example: Microsoft office 360 Apache Server 3.5 cpe:2.3:a:microsoft:outlook:*:*:*:*:*:*:*:*", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "UpsertConfigurationResponse": { "description": "Response message for UpsertConfiguration.", "id": "UpsertConfigurationResponse", @@ -3056,84 +2260,6 @@ } }, "type": "object" - }, - "VulnerabilityMatch": { - "description": "Contains details about a vulnerability match.", - "id": "VulnerabilityMatch", - "properties": { - "associations": { - "description": "Optional. Associated threat actors, malware, etc. This is embedded as a snapshot because the details of the association at the time of the vulnerability match are important for context and reporting.", - "items": { - "$ref": "Association" - }, - "type": "array" - }, - "collectionId": { - "description": "Required. The collection ID of the vulnerability. Ex: \"vulnerability--cve-2025-9876\".", - "type": "string" - }, - "cveId": { - "description": "Required. The CVE ID of the vulnerability. Ex: \"CVE-2025-9876\". See https://www.cve.org/ for more information.", - "type": "string" - }, - "cvss3Score": { - "description": "Required. The CVSS v3 score of the vulnerability. Example: 6.4.", - "format": "float", - "type": "number" - }, - "description": { - "description": "Required. A description of the vulnerability.", - "type": "string" - }, - "exploitationState": { - "description": "Required. The exploitation state of the vulnerability.", - "enum": [ - "EXPLOITATION_STATE_UNSPECIFIED", - "EXPLOITATION_STATE_NO_KNOWN", - "EXPLOITATION_STATE_REPORTED", - "EXPLOITATION_STATE_SUSPECTED", - "EXPLOITATION_STATE_CONFIRMED", - "EXPLOITATION_STATE_WIDESPREAD" - ], - "enumDescriptions": [ - "Unspecified exploitation state.", - "No known exploitation.", - "Exploitation has been reported.", - "Exploitation is suspected.", - "Exploitation is confirmed.", - "Widespread exploitation." - ], - "type": "string" - }, - "riskRating": { - "description": "Required. The risk rating of the vulnerability.", - "enum": [ - "RISK_RATING_UNSPECIFIED", - "LOW", - "MEDIUM", - "HIGH", - "CRITICAL", - "UNRATED" - ], - "enumDescriptions": [ - "Unspecified risk rating. This is the default value when the risk rating is not set.", - "Low risk rating.", - "Medium risk rating.", - "High risk rating.", - "Critical risk rating.", - "The vulnerability has been assessed, but a specific risk rating could not be determined or assigned." - ], - "type": "string" - }, - "technologies": { - "description": "Required. The affected technologies. Ex: \"Apache Struts\".", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/discovery/walletobjects-v1.json b/discovery/walletobjects-v1.json index 2295730224f..31a97b3e80d 100644 --- a/discovery/walletobjects-v1.json +++ b/discovery/walletobjects-v1.json @@ -369,7 +369,8 @@ ] }, "modifylinkedofferobjects": { - "description": "Modifies linked offer objects for the event ticket object with the given ID.", + "deprecated": true, + "description": "Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the event ticket object with the given ID.", "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}/modifyLinkedOfferObjects", "httpMethod": "POST", "id": "walletobjects.eventticketobject.modifylinkedofferobjects", @@ -1812,7 +1813,8 @@ ] }, "modifylinkedofferobjects": { - "description": "Modifies linked offer objects for the loyalty object with the given ID.", + "deprecated": true, + "description": "Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the loyalty object with the given ID.", "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}/modifyLinkedOfferObjects", "httpMethod": "POST", "id": "walletobjects.loyaltyobject.modifylinkedofferobjects", @@ -2711,7 +2713,7 @@ } } }, - "revision": "20260113", + "revision": "20260213", "rootUrl": "https://walletobjects.googleapis.com/", "schemas": { "ActivationOptions": { @@ -4142,7 +4144,7 @@ "type": "array" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -4415,7 +4417,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -4928,7 +4930,7 @@ "type": "array" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -5209,7 +5211,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -5370,7 +5372,7 @@ "type": "array" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -5611,7 +5613,7 @@ "description": "The time period this object will be considered valid or usable. When the time period is passed, the object will be considered expired, which will affect the rendering on user's devices." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -5892,7 +5894,7 @@ "type": "array" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -6146,7 +6148,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -6786,7 +6788,7 @@ "type": "array" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -7043,7 +7045,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -7829,7 +7831,7 @@ "description": "The title image of the offer. This image is displayed in both the details and list views of the app." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -8062,7 +8064,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, @@ -9277,7 +9279,7 @@ "type": "string" }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object.", + "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.", "items": { "$ref": "ValueAddedModuleData" }, @@ -9673,7 +9675,7 @@ "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed." }, "valueAddedModuleData": { - "description": "Optional value added module data. Maximum of ten on the object.", + "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.", "items": { "$ref": "ValueAddedModuleData" }, diff --git a/discovery/workflows-v1.json b/discovery/workflows-v1.json index 31a8a4c55fe..66e0d4129a6 100644 --- a/discovery/workflows-v1.json +++ b/discovery/workflows-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workflows.projects.locations.list", @@ -496,7 +496,7 @@ } } }, - "revision": "20251203", + "revision": "20260128", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/workflows-v1beta.json b/discovery/workflows-v1beta.json index 7b764800bc1..d370e70d574 100644 --- a/discovery/workflows-v1beta.json +++ b/discovery/workflows-v1beta.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workflows.projects.locations.list", @@ -455,7 +455,7 @@ } } }, - "revision": "20251203", + "revision": "20260128", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/workloadmanager-v1.json b/discovery/workloadmanager-v1.json index 7eed738a0db..7d25c7066d8 100644 --- a/discovery/workloadmanager-v1.json +++ b/discovery/workloadmanager-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workloadmanager.projects.locations.list", @@ -183,6 +183,284 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new Deployment in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments", + "httpMethod": "POST", + "id": "workloadmanager.projects.locations.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Required. Id of the deployment", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "workloadmanager.projects.locations.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to true, any actuation will also be deleted. Followed the best practice from https://aip.dev/135#cascading-delete", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Deployments in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter resource follow https://google.aip.dev/160", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "actuations": { + "methods": { + "create": { + "description": "Creates a new actuation for an existing Deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations", + "httpMethod": "POST", + "id": "workloadmanager.projects.locations.deployments.actuations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Actuation location using the form: 'projects/{project_id}/locations/{location}/deployments/{deployment}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/actuations", + "request": { + "$ref": "Actuation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Actuation", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}", + "httpMethod": "DELETE", + "id": "workloadmanager.projects.locations.deployments.actuations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the book to delete. project/{project_id}/locations/{location_id}/deployments/{deployment_id}/actuations/{actuation_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Actuation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.deployments.actuations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Actuation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Actuations in a given project, location and deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations", + "httpMethod": "GET", + "id": "workloadmanager.projects.locations.deployments.actuations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. 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. The resource prefix of the Actuation using the form: 'projects/{project_id}/locations/{location}/deployments/{deployment}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/actuations", + "response": { + "$ref": "ListActuationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "discoveredprofiles": { "methods": { "get": { @@ -979,9 +1257,190 @@ } } }, - "revision": "20260121", + "revision": "20260204", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { + "ActiveDirectory": { + "description": "Active directory details", + "id": "ActiveDirectory", + "properties": { + "dnsAddress": { + "description": "Optional. DNS IP address", + "type": "string" + }, + "domain": { + "description": "Optional. human readable form of a domain such as “google.com”.", + "type": "string" + }, + "domainUsername": { + "description": "Optional. domain username", + "type": "string" + }, + "secretManagerSecret": { + "description": "Required. secret_manager_secret", + "type": "string" + }, + "type": { + "description": "Required. active directory type", + "enum": [ + "ACTIVE_DIRECTORY_TYPE_UNSPECIFIED", + "GCP_MANAGED", + "SELF_MANAGED" + ], + "enumDescriptions": [ + "Unspecified active directory type", + "GCP managed active directory type", + "Self managed active directory type" + ], + "type": "string" + } + }, + "type": "object" + }, + "Actuation": { + "description": "The Actuation object represents the bootstrap state and output results of deployed infrastructure and software.", + "id": "Actuation", + "properties": { + "actuationOutput": { + "$ref": "ActuationOutput", + "description": "Output only. [Output only] Actuation output", + "readOnly": true + }, + "deploymentOutput": { + "description": "Output only. [Output only] Deployment output", + "items": { + "$ref": "DeploymentOutput" + }, + "readOnly": true, + "type": "array" + }, + "endTime": { + "description": "Output only. [Output only] End time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of actuation resource. The format is projects/{project}/locations/{location}/deployments/{deployment}/actuations/{actuation}", + "type": "string" + }, + "startTime": { + "description": "Output only. [Output only] Start time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. [Output only] Actuation state", + "enum": [ + "STATE_UNSPECIFIED", + "INFRA_CREATING", + "SUCCEEDED", + "FAILED", + "POST_INFRA_CONFIGURING", + "INFRA_DESTROYING", + "TIMEOUT" + ], + "enumDescriptions": [ + "state unspecified", + "creating infrastructure in backend (terraform applying)", + "success", + "failed either in infra creating, post infra configuring or infra destroying", + "configure workload after infrastructure is ready (ansible running)", + "destroying infrastructure in backend (terraform destroying)", + "ansible is timeout due to losing heartbeat in post infra configuring" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ActuationOutput": { + "description": "Message for output of Actuation", + "id": "ActuationOutput", + "properties": { + "actuateLogs": { + "description": "A link to gcs file that store build logs", + "type": "string" + }, + "ansibleError": { + "description": "Output only. error message return from ansible.", + "readOnly": true, + "type": "string" + }, + "ansibleFailedTask": { + "description": "Output only. failed task name return from ansible.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "blueprintId": { + "description": "reference to Blueprint Controller deployment and revision resource", + "type": "string" + }, + "cloudbuildId": { + "description": "Cloud Build instance UUID associated with this revision, without any suffix or prefix", + "type": "string" + }, + "errorCode": { + "description": "Output only. Code describing any errors that may have occurred. If not specified, there is no error in actuation.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "TERRAFORM_FAILED", + "PERMISSION_DENIED_IN_TERRAFORM", + "QUOTA_EXCEED_IN_TERRAFORM", + "ANSIBLE_FAILED", + "CONSTRAINT_VIOLATION_IN_TERRAFORM", + "RESOURCE_ALREADY_EXISTS_IN_TERRAFORM", + "RESOURCE_UNAVAILABLE_IN_TERRAFORM", + "PERMISSION_DENIED_IN_ANSIBLE", + "INVALID_SECRET_IN_ANSIBLE", + "TERRAFORM_DELETION_FAILED", + "RESOURCE_IN_USE_IN_TERRAFORM_DELETION", + "ANSIBLE_START_FAILED" + ], + "enumDescriptions": [ + "No error code was specified.", + "general terraform failure", + "permission error in terraform", + "quota related error in terraform", + "general ansible failure", + "constraint related error in terraform", + "resource already exists error in terraform", + "resource not found error in terraform", + "permission denied error in ansible", + "secret related error in ansible", + "general terraform failure during deletion", + "resource in use error in terraform deletion", + "start up failure in ansible" + ], + "readOnly": true, + "type": "string" + }, + "errorLogs": { + "description": "A link to actuation cloud build log.", + "type": "string" + }, + "hasUserFacingErrorMsg": { + "description": "Output only. whether the error message is user facing. If true, the error message will be shown in the UI.", + "readOnly": true, + "type": "boolean" + }, + "terraformError": { + "description": "Output only. error message return from terraform.", + "readOnly": true, + "type": "string" + }, + "terraformTemplate": { + "description": "reference to terraform template used", + "type": "string" + } + }, + "type": "object" + }, "AgentCommand": { "description": "* An AgentCommand specifies a one-time executable program for the agent to run.", "id": "AgentCommand", @@ -1297,6 +1756,81 @@ }, "type": "object" }, + "AppDetails": { + "description": "Message for sap instant details", + "id": "AppDetails", + "properties": { + "appInstanceId": { + "description": "Optional. instance id for app", + "type": "string" + }, + "appServiceAccount": { + "description": "Application service account - let custoemrs bring their own SA for application", + "type": "string" + }, + "appVmNames": { + "description": "Optional. Customized vm names", + "items": { + "type": "string" + }, + "type": "array" + }, + "ascsImage": { + "description": "Required. image for ascs server", + "type": "string" + }, + "ascsInstanceId": { + "description": "Optional. instance id for ascs", + "type": "string" + }, + "ascsMachineType": { + "description": "Required. ascs_machine_type", + "type": "string" + }, + "ascsServiceAccount": { + "description": "ASCS service account - let custoemrs bring their own SA for ASCS", + "type": "string" + }, + "ascsVm": { + "description": "Optional. ASCS vm name", + "type": "string" + }, + "ersInstanceId": { + "description": "Optional. instance id for ers", + "type": "string" + }, + "ersVm": { + "description": "Optional. ERS vm name", + "type": "string" + }, + "image": { + "description": "Required. image for app server and ascs server", + "type": "string" + }, + "machineType": { + "description": "Required. machine type", + "type": "string" + }, + "secretManagerSecret": { + "description": "Required. secret_manager_secret", + "type": "string" + }, + "sharedStorage": { + "description": "Optional. Storage location", + "type": "string" + }, + "sid": { + "description": "Required. The SAP SID is a three-digit server-specific unique identification code.", + "type": "string" + }, + "vmsMultiplier": { + "description": "Required. vms_multiplier", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "BackupProperties": { "description": "Backup properties.", "id": "BackupProperties", @@ -1471,6 +2005,110 @@ }, "type": "object" }, + "Database": { + "description": "Database details", + "id": "Database", + "properties": { + "diskType": { + "description": "Required. disk_type", + "type": "string" + }, + "floatingIpAddress": { + "description": "Optional. only useful for Linux High Availability setup", + "type": "string" + }, + "machineType": { + "description": "Required. machine type", + "type": "string" + }, + "secondarySoleTenantNode": { + "description": "Optional. the name of a secondary-sole-tenant node/node group", + "type": "string" + }, + "secondarySoleTenantNodeType": { + "description": "Optional. the type of a secondary-sole-tenant node/node group e.g. compute.googleapis.com/node-name", + "type": "string" + }, + "secretManagerSecret": { + "description": "Required. secret_manager_secret", + "type": "string" + }, + "smt": { + "description": "Required. whether simultaneous multithreading is enabled or not", + "type": "boolean" + }, + "soleTenantNode": { + "description": "Optional. the name of a primary sole-tenant node/node group", + "type": "string" + }, + "soleTenantNodeType": { + "description": "Optional. the type of a primary sole-tenant node/node group e.g. compute.googleapis.com/node-name", + "type": "string" + }, + "tempdbOnSsd": { + "description": "Required. whether to have TempDB on local SSD", + "type": "boolean" + }, + "tenancyModel": { + "description": "Required. SHARED or SOLE_TENANT", + "enum": [ + "TENANCY_MODEL_UNSPECIFIED", + "SHARED", + "SOLE_TENANT" + ], + "enumDescriptions": [ + "Unspecified tenancy model", + "Shared tenancy model", + "Sole Tenant tenancy model" + ], + "type": "string" + } + }, + "type": "object" + }, + "DatabaseDetails": { + "description": "Message for sap instant details", + "id": "DatabaseDetails", + "properties": { + "databaseServiceAccount": { + "description": "Database service account - let custoemrs bring their own SA for database", + "type": "string" + }, + "diskType": { + "description": "Required. disk_type", + "type": "string" + }, + "image": { + "description": "Required. image for database server", + "type": "string" + }, + "instanceId": { + "description": "Optional. instance id", + "type": "string" + }, + "machineType": { + "description": "Required. machine type", + "type": "string" + }, + "primaryDbVm": { + "description": "Optional. primary db vm name", + "type": "string" + }, + "secondaryDbVm": { + "description": "Optional. secondary db vm name", + "type": "string" + }, + "secretManagerSecret": { + "description": "Required. secret_manager_secret", + "type": "string" + }, + "sid": { + "description": "Required. The SID is a three-digit server-specific unique identification code.", + "type": "string" + } + }, + "type": "object" + }, "DatabaseProperties": { "description": "Database Properties.", "id": "DatabaseProperties", @@ -1492,15 +2130,117 @@ "ASE" ], "enumDescriptions": [ - "unspecified", - "SAP HANA", - "SAP MAX_DB", - "IBM DB2", - "Oracle Database", - "Microsoft SQL Server", - "SAP Sybase ASE" + "unspecified", + "SAP HANA", + "SAP MAX_DB", + "IBM DB2", + "Oracle Database", + "Microsoft SQL Server", + "SAP Sybase ASE" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Deployment": { + "description": "The Deployment object represents user intent for deploying a specific type of workload.", + "id": "Deployment", + "properties": { + "createTime": { + "description": "Output only. [Output only] Create time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the Deployment", + "type": "string" + }, + "name": { + "description": "The name of deployment resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'", + "type": "string" + }, + "sapSystemS4Config": { + "$ref": "SapSystemS4Config", + "description": "SAP system workload input" + }, + "serviceAccount": { + "description": "User-specified Service Account (SA) credentials to be used for cloud build Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` The default Cloud Build SA will be used initially if this field is not set during deployment creation", + "type": "string" + }, + "sqlServerWorkload": { + "$ref": "SqlServerWorkload", + "description": "MS SQL workload input" + }, + "state": { + "description": "Output only. Current state of the deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "FAILED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "The deployment is being created.", + "The deployment is healthy.", + "The deployment is being updated.", + "The deployment is being deleted.", + "The deployment has encountered an unexpected error." + ], + "readOnly": true, + "type": "string" + }, + "terraformVariables": { + "additionalProperties": { + "$ref": "TerraformVariable" + }, + "description": "Optional. terraform_variables represents all the Terraform variables for the deployment workload. The key is the name of the Terraform variable, and the value is the TerraformVariable. For example: { \"project_id\": { \"input_value\": { \"string_value\": \"my-project-id\" } }, \"zone\": { \"input_value\": { \"string_value\": \"us-central1-a\" } } }", + "type": "object" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "workerPool": { + "description": "Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used.", + "type": "string" + }, + "workloadType": { + "description": "Optional. Workload type of the deployment", + "enum": [ + "WORKLOAD_TYPE_UNSPECIFIED", + "SAP_S4", + "SQL_SERVER", + "ORACLE" + ], + "enumDescriptions": [ + "Unspecified workload type", + "SAP S/4HANA workload type", + "SQL Server workload type", + "Oracle workload type" ], - "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeploymentOutput": { + "description": "Message for output of deployment resource", + "id": "DeploymentOutput", + "properties": { + "name": { + "description": "name of the resource", + "type": "string" + }, + "type": { + "description": "type of the resource", "type": "string" } }, @@ -2015,6 +2755,56 @@ }, "type": "object" }, + "ListActuationsResponse": { + "description": "The response object from `ListActuations`.", + "id": "ListActuationsResponse", + "properties": { + "actuations": { + "description": "The list of Actuation", + "items": { + "$ref": "Actuation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListDeploymentsResponse": { + "description": "Message for response to listing Deployments", + "id": "ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The list of Deployment", + "items": { + "$ref": "Deployment" + }, + "type": "array" + }, + "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" + } + }, + "type": "object" + }, "ListDiscoveredProfilesResponse": { "description": "List discovered profile Response returns discovered profiles from agents", "id": "ListDiscoveredProfilesResponse", @@ -2223,6 +3013,73 @@ }, "type": "object" }, + "LocationDetails": { + "description": "Message for sap instant details", + "id": "LocationDetails", + "properties": { + "createCommsFirewall": { + "description": "Optional. create firewall, if true, create firewall for the deployment. This field provides an option to not always create firewall for the deployment.", + "type": "boolean" + }, + "customTags": { + "description": "Optional. network tags", + "items": { + "type": "string" + }, + "type": "array" + }, + "deploymentDnsEnabled": { + "description": "Optional. when user skip DNS configuration from UI, deployment_dns_enabled=false otherwise deployment_dns_enabled=true", + "type": "boolean" + }, + "dnsZone": { + "description": "Optional. dns zone name", + "type": "string" + }, + "dnsZoneNameSuffix": { + "description": "Optional. dns_zone_name_suffix", + "type": "string" + }, + "internetAccess": { + "enum": [ + "INTERNETACCESS_UNSPECIFIED", + "ALLOW_EXTERNAL_IP", + "CONFIGURE_NAT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "networkProject": { + "description": "Optional. network project", + "type": "string" + }, + "regionName": { + "description": "Required. region_name", + "type": "string" + }, + "subnetName": { + "description": "Required. subnet_name", + "type": "string" + }, + "vpcName": { + "description": "Required. vpc_name", + "type": "string" + }, + "zone1Name": { + "description": "Required. zone1_name", + "type": "string" + }, + "zone2Name": { + "description": "Optional. zone2_name", + "type": "string" + } + }, + "type": "object" + }, "Notice": { "description": "Message for additional information generated by the execution", "id": "Notice", @@ -2333,6 +3190,37 @@ }, "type": "object" }, + "Pacemaker": { + "description": "pacemaker configuration", + "id": "Pacemaker", + "properties": { + "bucketNameNodeCertificates": { + "description": "Required. bucket location for node certificates", + "type": "string" + }, + "pacemakerCluster": { + "description": "Required. pacemaker cluster name", + "type": "string" + }, + "pacemakerClusterSecret": { + "description": "Required. pacemaker cluster secret name", + "type": "string" + }, + "pacemakerClusterUsername": { + "description": "Required. pacemaker cluster username", + "type": "string" + }, + "sqlPacemakerSecret": { + "description": "Required. sql pacemaker secret name", + "type": "string" + }, + "sqlPacemakerUsername": { + "description": "Required. sql pacemaker username", + "type": "string" + } + }, + "type": "object" + }, "Product": { "description": "Contains the details of a product.", "id": "Product", @@ -3201,6 +4089,106 @@ }, "type": "object" }, + "SapSystemS4Config": { + "description": "Message for sap system workload", + "id": "SapSystemS4Config", + "properties": { + "allowStoppingForUpdate": { + "type": "boolean" + }, + "ansibleRunnerServiceAccount": { + "description": "Ansible runner service account - let custoemrs bring their own SA for Ansible runner", + "type": "string" + }, + "app": { + "$ref": "AppDetails", + "description": "instance details" + }, + "database": { + "$ref": "DatabaseDetails", + "description": "database details" + }, + "deploymentModel": { + "description": "Required. two model non-HA and HA supported", + "enum": [ + "DEPLOYMENT_MODEL_UNSPECIFIED", + "DISTRIBUTED", + "DISTRIBUTED_HA" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "environmentType": { + "description": "Required. deployment environment", + "enum": [ + "ENVIRONMENT_TYPE_UNSPECIFIED", + "NON_PRODUCTION", + "PRODUCTION" + ], + "enumDescriptions": [ + "Unspecified environment type", + "Non-production environment type", + "Production environment type" + ], + "type": "string" + }, + "gcpProjectId": { + "description": "the project that infrastructure deployed, current only support the same project where the deployment resource exist.", + "type": "string" + }, + "location": { + "$ref": "LocationDetails", + "description": "database details" + }, + "mediaBucketName": { + "description": "Required. media_bucket_name", + "type": "string" + }, + "sapBootDiskImage": { + "description": "Optional. sap_boot_disk_image", + "type": "string" + }, + "scalingMethod": { + "description": "Required. support scale up and scale out", + "enum": [ + "SCALE_METHOD_UNSPECIFIED", + "SCALE_UP", + "SCALE_OUT" + ], + "enumDescriptions": [ + "", + "Scale up: Increases the size of a physical machine by increasing the amount of RAM and CPU available for processing", + "Scale out: Combines multiple independent computers into one system" + ], + "type": "string" + }, + "version": { + "description": "Required. sap hana version", + "enum": [ + "VERSION_UNSPECIFIED", + "S4_HANA_2021", + "S4_HANA_2022", + "S4_HANA_2023" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "vmPrefix": { + "description": "vm_prefix", + "type": "string" + } + }, + "type": "object" + }, "SapValidation": { "description": "A presentation of SAP workload insight. The schema of SAP workloads validation related data.", "id": "SapValidation", @@ -3392,6 +4380,224 @@ }, "type": "object" }, + "SqlLocationDetails": { + "description": "Location and networking details for configuring SQL server workload", + "id": "SqlLocationDetails", + "properties": { + "dnsZone": { + "description": "Optional. create a new DNS Zone when the field is empty, Only show for `Using an existing DNS` List of existing DNS Zones tf variable name: existing_dns_zone_name", + "type": "string" + }, + "gcpProjectId": { + "description": "Required. the project that infrastructure deployed, currently only supports the same project where the deployment resource exists.", + "type": "string" + }, + "internetAccess": { + "description": "Required. Internet Access", + "enum": [ + "INTERNET_ACCESS_UNSPECIFIED", + "ALLOW_EXTERNAL_IP", + "CONFIGURE_NAT" + ], + "enumDescriptions": [ + "Unspecified internet access", + "Allow external IP", + "Configure NAT" + ], + "type": "string" + }, + "network": { + "description": "Required. network name", + "type": "string" + }, + "primaryZone": { + "description": "Required. primary zone", + "type": "string" + }, + "region": { + "description": "Required. region name", + "type": "string" + }, + "secondaryZone": { + "description": "Optional. secondary zone can't be same as primary_zone and is only for High Availability deployment mode", + "type": "string" + }, + "subnetwork": { + "description": "Required. subnetwork name", + "type": "string" + }, + "tertiaryZone": { + "description": "Optional. teriary zone can't be same as primary_zone and secondary zone, and it is only for High Availability deployment mode", + "type": "string" + } + }, + "type": "object" + }, + "SqlServerWorkload": { + "description": "Message for MS SQL workload", + "id": "SqlServerWorkload", + "properties": { + "activeDirectory": { + "$ref": "ActiveDirectory", + "description": "Required. active directory details" + }, + "computeEngineServiceAccount": { + "description": "Compute engine service account - let customers bring their own SA for Compute engine", + "type": "string" + }, + "database": { + "$ref": "Database", + "description": "Required. database details" + }, + "deploymentModel": { + "description": "Required. HIGH_AVAILABILITY or SINGLE_INSTANCE", + "enum": [ + "DEPLOYMENT_MODEL_UNSPECIFIED", + "HIGH_AVAILABILITY", + "SINGLE_INSTANCE" + ], + "enumDescriptions": [ + "Unspecified deployment model", + "High Availability deployment model", + "Single Instance deployment model" + ], + "type": "string" + }, + "environmentType": { + "description": "Required. deployment environment", + "enum": [ + "ENVIRONMENT_TYPE_UNSPECIFIED", + "NON_PRODUCTION", + "PRODUCTION" + ], + "enumDescriptions": [ + "Unspecified environment type", + "Non-production environment type", + "Production environment type" + ], + "type": "string" + }, + "fciType": { + "description": "Optional. SHARED_DISK or S2D", + "enum": [ + "FCI_TYPE_UNSPECIFIED", + "SHARED_DISK", + "S2D" + ], + "enumDescriptions": [ + "Unspecified FCI type", + "SHARED DISK FCI type", + "S2D FCI type" + ], + "type": "string" + }, + "haType": { + "description": "Optional. AOAG or FCI, it is only needed for High Availability deployment mode", + "enum": [ + "HA_TYPE_UNSPECIFIED", + "AOAG", + "FCI" + ], + "enumDescriptions": [ + "Unspecified HA type", + "AOAG HA type", + "FCI HA type" + ], + "type": "string" + }, + "isSqlPayg": { + "description": "Required. SQL licensing type", + "type": "boolean" + }, + "location": { + "$ref": "SqlLocationDetails", + "description": "Required. location details" + }, + "mediaBucket": { + "description": "Required. name of the media storing SQL server installation files", + "type": "string" + }, + "operatingSystemType": { + "description": "Required. type of the operating system the SQL server is going to run on top of", + "enum": [ + "OPERATING_SYSTEM_TYPE_UNSPECIFIED", + "WINDOWS", + "UBUNTU", + "RED_HAT_ENTERPRISE_LINUX", + "SUSE" + ], + "enumDescriptions": [ + "Unspecified operating system type", + "Windows operating system type", + "Ubuntu operating system type", + "Red Hat Enterprise Linux operating system type", + "Suse operating system type" + ], + "type": "string" + }, + "osImage": { + "description": "Required. the image of the operating system", + "type": "string" + }, + "osImageType": { + "description": "Optional. OS image type, it's used to create boot disks for VM instances When either Windows licensing type or SQL licensing type is BYOL, this option is disabled and default to custom image", + "enum": [ + "OS_IMAGE_TYPE_UNSPECIFIED", + "PUBLIC_IMAGE", + "CUSTOM_IMAGE" + ], + "enumDescriptions": [ + "Unspecified OS image type", + "Public image", + "Custom image" + ], + "type": "string" + }, + "pacemaker": { + "$ref": "Pacemaker", + "description": "Optional. pacemaker configuration, only applicable for Linux HA deployments" + }, + "sqlServerEdition": { + "description": "Optional. SQL Server Edition type, only applicable when Operating System is Linux", + "enum": [ + "SQL_SERVER_EDITION_TYPE_UNSPECIFIED", + "SQL_SERVER_EDITION_TYPE_DEVELOPER", + "SQL_SERVER_EDITION_TYPE_ENTERPRISE", + "SQL_SERVER_EDITION_TYPE_STANDARD", + "SQL_SERVER_EDITION_TYPE_WEB" + ], + "enumDescriptions": [ + "Unspecified type", + "Developer type", + "Enterprise type", + "Standard type", + "Web type" + ], + "type": "string" + }, + "sqlServerVersion": { + "description": "Optional. 2017 or 2019 or 2022", + "enum": [ + "SQL_SERVER_VERSION_TYPE_UNSPECIFIED", + "SQL_SERVER_VERSION_TYPE_2017", + "SQL_SERVER_VERSION_TYPE_2019", + "SQL_SERVER_VERSION_TYPE_2022" + ], + "enumDescriptions": [ + "Unspecified type", + "2017 type", + "2019 type", + "2022 type" + ], + "type": "string" + }, + "vmPrefix": { + "description": "Required. should be unique in the project", + "type": "string" + } + }, + "type": "object" + }, "SqlserverValidation": { "description": "A presentation of SQLServer workload insight. The schema of SqlServer workloads validation related data.", "id": "SqlserverValidation", @@ -3532,6 +4738,17 @@ }, "type": "object" }, + "TerraformVariable": { + "description": "In order to align with Infra Manager dependency, we create the same TerraformVariable message to represent a Terraform input variable, by following Infra Manager's API documentation: https://cloud.google.com/infrastructure-manager/docs/reference/rest A Terraform input variable.", + "id": "TerraformVariable", + "properties": { + "inputValue": { + "description": "Optional. Input variable value.", + "type": "any" + } + }, + "type": "object" + }, "TorsoValidation": { "description": "The schema of torso workload validation data.", "id": "TorsoValidation", diff --git a/discovery/workstations-v1.json b/discovery/workstations-v1.json index 35c42b5f81d..5a13020bfb0 100644 --- a/discovery/workstations-v1.json +++ b/discovery/workstations-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workstations.projects.locations.list", @@ -1221,7 +1221,7 @@ } } }, - "revision": "20260113", + "revision": "20260126", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index 84d5b5277b0..4aaa6f9d6a7 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -4172,7 +4172,7 @@ } } }, - "revision": "20260112", + "revision": "20260205", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -8802,6 +8802,48 @@ }, "type": "object" }, + "LiveChatGiftDetails": { + "description": "Details about the gift event, this is only set if the type is 'giftEvent'.", + "id": "LiveChatGiftDetails", + "properties": { + "altText": { + "description": "The alternative text to be used for accessibility.", + "type": "string" + }, + "comboCount": { + "description": "The number of times the gift has been sent in a row.", + "format": "int32", + "type": "integer" + }, + "giftDuration": { + "description": "The duration of the gift.", + "format": "google-duration", + "type": "string" + }, + "giftName": { + "description": "The name of the gift.", + "type": "string" + }, + "giftUrl": { + "description": "The URL of the gift image.", + "type": "string" + }, + "hasVisualEffect": { + "description": "Whether the gift involves a visual effect.", + "type": "boolean" + }, + "jewelsCount": { + "description": "The cost of the gift in jewels.", + "format": "int32", + "type": "integer" + }, + "language": { + "description": "The BCP-47 language code of the gift.", + "type": "string" + } + }, + "type": "object" + }, "LiveChatGiftMembershipReceivedDetails": { "id": "LiveChatGiftMembershipReceivedDetails", "properties": { @@ -8995,7 +9037,7 @@ "type": "object" }, "LiveChatMessageSnippet": { - "description": "Next ID: 34", + "description": "Next ID: 35", "id": "LiveChatMessageSnippet", "properties": { "authorChannelId": { @@ -9011,6 +9053,10 @@ "deprecated": true, "description": "Details about the funding event, this is only set if the type is 'fanFundingEvent'." }, + "giftDetails": { + "$ref": "LiveChatGiftDetails", + "description": "Details about the gift event, this is only set if the type is 'giftEvent'." + }, "giftMembershipReceivedDetails": { "$ref": "LiveChatGiftMembershipReceivedDetails", "description": "Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'." @@ -9080,7 +9126,8 @@ "userBannedEvent", "superChatEvent", "superStickerEvent", - "pollEvent" + "pollEvent", + "giftEvent" ], "enumDescriptions": [ "", @@ -9099,7 +9146,8 @@ "", "", "", - "" + "", + "A virtual gift sent by a viewer to support a creator." ], "type": "string" }, diff --git a/release-please-config.json b/release-please-config.json index 3db57931443..d5d0d2073c4 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -322,6 +322,7 @@ "src/apis/chromewebstore": {}, "src/apis/appsmarket": {}, "src/apis/threatintelligence": {}, - "src/apis/hypercomputecluster": {} + "src/apis/hypercomputecluster": {}, + "src/apis/ces": {} } } \ No newline at end of file diff --git a/src/apis/admin/directory_v1.ts b/src/apis/admin/directory_v1.ts index 0895d24ac31..c2a9ba17b50 100644 --- a/src/apis/admin/directory_v1.ts +++ b/src/apis/admin/directory_v1.ts @@ -952,6 +952,15 @@ export namespace admin_directory_v1 { */ deviceIds?: string[] | null; } + /** + * A response for counting ChromeOS devices. + */ + export interface Schema$CountChromeOsDevicesResponse { + /** + * The total number of devices matching the request. + */ + count?: string | null; + } /** * Request for adding a new printer. */ @@ -5034,6 +5043,159 @@ export namespace admin_directory_v1 { } } + /** + * Counts ChromeOS devices matching the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/admin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const admin = google.admin('directory_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/admin.directory.device.chromeos', + * 'https://www.googleapis.com/auth/admin.directory.device.chromeos.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 admin.customer.devices.chromeos.countChromeOsDevices({ + * // Required. Immutable ID of the Google Workspace account. + * customerId: 'placeholder-value', + * // Optional. Search string in the format given at https://developers.google.com/workspace/admin/directory/v1/list-query-operators + * filter: 'placeholder-value', + * // Optional. Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided. + * includeChildOrgunits: 'placeholder-value', + * // Optional. The full path of the organizational unit (minus the leading `/`) or its unique ID. + * orgUnitPath: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "count": "my_count" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + countChromeOsDevices( + params: Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices, + options: StreamMethodOptions + ): Promise>; + countChromeOsDevices( + params?: Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices, + options?: MethodOptions + ): Promise>; + countChromeOsDevices( + params: Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeOsDevices( + params: Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeOsDevices( + params: Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices, + callback: BodyResponseCallback + ): void; + countChromeOsDevices( + callback: BodyResponseCallback + ): void; + countChromeOsDevices( + paramsOrCallback?: + | Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://admin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/admin/directory/v1/customer/{customerId}/devices/chromeos:countChromeOsDevices' + ).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 + ); + } + } + /** * Issues a command for the device to execute. * @example @@ -5204,6 +5366,24 @@ export namespace admin_directory_v1 { */ requestBody?: Schema$BatchChangeChromeOsDeviceStatusRequest; } + export interface Params$Resource$Customer$Devices$Chromeos$Countchromeosdevices extends StandardParameters { + /** + * Required. Immutable ID of the Google Workspace account. + */ + customerId?: string; + /** + * Optional. Search string in the format given at https://developers.google.com/workspace/admin/directory/v1/list-query-operators + */ + filter?: string; + /** + * Optional. Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided. + */ + includeChildOrgunits?: boolean; + /** + * Optional. The full path of the organizational unit (minus the leading `/`) or its unique ID. + */ + orgUnitPath?: string; + } export interface Params$Resource$Customer$Devices$Chromeos$Issuecommand extends StandardParameters { /** * Immutable. ID of the Google Workspace account. diff --git a/src/apis/admin/reports_v1.ts b/src/apis/admin/reports_v1.ts index e0214b4e07a..464d0b1dd2e 100644 --- a/src/apis/admin/reports_v1.ts +++ b/src/apis/admin/reports_v1.ts @@ -193,6 +193,7 @@ export namespace admin_reports_v1 { value?: string; }>; resourceIds?: string[]; + status?: Schema$ActivityEventsStatus; type?: string; }> | null; /** @@ -225,6 +226,27 @@ export namespace admin_reports_v1 { */ resourceDetails?: Schema$ResourceDetails[]; } + /** + * Status of the event. Note: Not all events have status. + */ + export interface Schema$ActivityEventsStatus { + /** + * Error code of the event. Note: Field can be empty. + */ + errorCode?: string | null; + /** + * Error message of the event. Note: Field can be empty. + */ + errorMessage?: string | null; + /** + * * Status of the event. Possible values if not empty: - UNKNOWN_EVENT_STATUS - SUCCEEDED - SUCCEEDED_WITH_WARNINGS - FAILED - SKIPPED + */ + eventStatus?: string | null; + /** + * Status code of the event. Note: Field can be empty. + */ + httpStatusCode?: number | null; + } /** * Network information of the user doing the action. */ @@ -610,6 +632,8 @@ export namespace admin_reports_v1 { * const res = await reports.activities.list({ * // The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report's summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user's physical location. For example, the IP address can be the user's proxy server's address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions. * actorIpAddress: 'placeholder-value', + * // Optional. Used to filter on the `oAuthClientId` field present in [`ApplicationInfo`](#applicationinfo) message. **Usage** ``` GET...&applicationInfoFilter=oAuthClientId="clientId" GET...&applicationInfoFilter=oAuthClientId=%22clientId%22 ``` + * applicationInfoFilter: 'placeholder-value', * // Application name for which the events are to be retrieved. * applicationName: * '(access_evaluation)|(access_transparency)|(admin)|(admin_data_action)|(assignments)|(calendar)|(chat)|(chrome)|(classroom)|(cloud_search)|(contacts)|(context_aware_access)|(data_studio)|(data_migration)|(directory_sync)|(drive)|(gcp)|(gmail)|(gplus)|(graduation)|(groups)|(groups_enterprise)|(jamboard)|(keep)|(ldap)|(login)|(meet)|(meet_hardware)|(mobile)|(profile)|(rules)|(saml)|(token)|(user_accounts)|(vault)|(gemini_in_workspace_apps)|(tasks)|(takeout)', @@ -627,6 +651,8 @@ export namespace admin_reports_v1 { * groupIdFilter: '(id:[a-z0-9]+(,id:[a-z0-9]+)*)', * // Determines how many activity records are shown on each response page. For example, if the request sets `maxResults=1` and the report has two activities, the report has two pages. The response's `nextPageToken` property has the token to the second page. The `maxResults` query string is optional in the request. The default value is 1000. * maxResults: 'placeholder-value', + * // Optional. Used to filter on the `regionCode` field present in [`NetworkInfo`](#networkinfo) message. **Usage** ``` GET...&networkInfoFilter=regionCode="IN" GET...&networkInfoFilter=regionCode=%22IN%22 ``` + * networkInfoFilter: 'placeholder-value', * // ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results. * orgUnitID: '(id:[a-z0-9]+)', * // The token to specify next page. A report with multiple pages has a `nextPageToken` property in the response. In your follow-on request getting the next page of the report, enter the `nextPageToken` value in the `pageToken` query string. @@ -636,6 +662,8 @@ export namespace admin_reports_v1 { * // Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from `startTime` until `endTime`. The `startTime` must be before the `endTime` (if specified) and the current time when the request is made, or the API returns an error. For Gmail requests, `startTime` and `endTime` must be provided and the difference must not be greater than 30 days. * startTime: * '(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)(?:\.(\d+))?(?:(Z)|([-+])(\d\d):(\d\d))', + * // Optional. Used to filter on the `statusCode` field present in [`Status`](#status) message. **Usage** ``` GET...&statusFilter=statusCode="200" GET...&statusFilter=statusCode=%22200%22 ``` + * statusFilter: 'placeholder-value', * // Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`. * userKey: 'placeholder-value', * }); @@ -938,6 +966,10 @@ export namespace admin_reports_v1 { * The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report's summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user's physical location. For example, the IP address can be the user's proxy server's address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions. */ actorIpAddress?: string; + /** + * Optional. Used to filter on the `oAuthClientId` field present in [`ApplicationInfo`](#applicationinfo) message. **Usage** ``` GET...&applicationInfoFilter=oAuthClientId="clientId" GET...&applicationInfoFilter=oAuthClientId=%22clientId%22 ``` + */ + applicationInfoFilter?: string; /** * Application name for which the events are to be retrieved. */ @@ -966,6 +998,10 @@ export namespace admin_reports_v1 { * Determines how many activity records are shown on each response page. For example, if the request sets `maxResults=1` and the report has two activities, the report has two pages. The response's `nextPageToken` property has the token to the second page. The `maxResults` query string is optional in the request. The default value is 1000. */ maxResults?: number; + /** + * Optional. Used to filter on the `regionCode` field present in [`NetworkInfo`](#networkinfo) message. **Usage** ``` GET...&networkInfoFilter=regionCode="IN" GET...&networkInfoFilter=regionCode=%22IN%22 ``` + */ + networkInfoFilter?: string; /** * ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results. */ @@ -982,6 +1018,10 @@ export namespace admin_reports_v1 { * Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from `startTime` until `endTime`. The `startTime` must be before the `endTime` (if specified) and the current time when the request is made, or the API returns an error. For Gmail requests, `startTime` and `endTime` must be provided and the difference must not be greater than 30 days. */ startTime?: string; + /** + * Optional. Used to filter on the `statusCode` field present in [`Status`](#status) message. **Usage** ``` GET...&statusFilter=statusCode="200" GET...&statusFilter=statusCode=%22200%22 ``` + */ + statusFilter?: string; /** * Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`. */ diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index 1462fb17521..c220f36c95f 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -538,92 +538,6 @@ export namespace aiplatform_v1 { */ measurement?: Schema$GoogleCloudAiplatformV1Measurement; } - /** - * Represents data specific to multi-turn agent evaluations. - */ - export interface Schema$GoogleCloudAiplatformV1AgentData { - /** - * Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents. - */ - agents?: { - [key: string]: Schema$GoogleCloudAiplatformV1AgentDataAgentConfig; - } | null; - /** - * Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -\> Agent Response). - */ - turns?: Schema$GoogleCloudAiplatformV1AgentDataConversationTurn[]; - } - /** - * Represents configuration for an Agent. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataAgentConfig { - /** - * Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map. - */ - agentId?: string | null; - /** - * Optional. The type or class of the agent (e.g., "LlmAgent", "RouterAgent", "ToolUseAgent"). Useful for the autorater to understand the expected behavior of the agent. - */ - agentType?: string | null; - /** - * Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly. - */ - description?: string | null; - /** - * Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field. - */ - developerInstruction?: string | null; - /** - * Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology. - */ - subAgents?: string[] | null; - /** - * Optional. The list of tools available to this agent. - */ - tools?: Schema$GoogleCloudAiplatformV1Tool[]; - } - /** - * Represents a single event in the execution trace. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataAgentEvent { - /** - * Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set. - */ - activeTools?: Schema$GoogleCloudAiplatformV1Tool[]; - /** - * Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user. - */ - author?: string | null; - /** - * Optional. The content of the event (e.g., text response, tool call, tool response). - */ - content?: Schema$GoogleCloudAiplatformV1Content; - /** - * Optional. The timestamp when the event occurred. - */ - eventTime?: string | null; - /** - * Optional. The change in the session state caused by this event. This is a key-value map of fields that were modified or added by the event. - */ - stateDelta?: {[key: string]: any} | null; - } - /** - * Represents a single turn/invocation in the conversation. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataConversationTurn { - /** - * Optional. The list of events that occurred during this turn. - */ - events?: Schema$GoogleCloudAiplatformV1AgentDataAgentEvent[]; - /** - * Optional. A unique identifier for the turn. Useful for referencing specific turns across systems. - */ - turnId?: string | null; - /** - * Optional. The 0-based index of the turn in the conversation sequence. - */ - turnIndex?: number | null; - } /** * The aggregation result for the entire dataset and all metrics. */ @@ -1863,14 +1777,14 @@ export namespace aiplatform_v1 { * Responses from model or agent. */ export interface Schema$GoogleCloudAiplatformV1CandidateResponse { - /** - * Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This field is used to provide the full output of an agent's run, including all turns and events, for direct evaluation. - */ - agentData?: Schema$GoogleCloudAiplatformV1AgentData; /** * Required. The name of the candidate that produced the response. */ candidate?: string | null; + /** + * Output only. Error while scraping model or agent. + */ + error?: Schema$GoogleRpcStatus; /** * Text response. */ @@ -2209,6 +2123,19 @@ export namespace aiplatform_v1 { */ successfulForecastPointCount?: string | null; } + /** + * Specification for a computation based metric. + */ + export interface Schema$GoogleCloudAiplatformV1ComputationBasedMetricSpec { + /** + * Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"\}. + */ + parameters?: {[key: string]: any} | null; + /** + * Required. The type of the computation based metric. + */ + type?: string | null; + } /** * Request message for ComputeTokens RPC call. */ @@ -4631,9 +4558,13 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1EvaluationInstance { /** - * Optional. Data used for agent evaluation. + * Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation. */ agentData?: Schema$GoogleCloudAiplatformV1EvaluationInstanceAgentData; + /** + * Optional. Data used for agent evaluation. + */ + agentEvalData?: Schema$GoogleCloudAiplatformV1EvaluationInstanceAgentData; /** * Optional. Other data used to populate placeholders based on their key. */ @@ -4880,10 +4811,6 @@ export namespace aiplatform_v1 { * Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations. */ export interface Schema$GoogleCloudAiplatformV1EvaluationPrompt { - /** - * Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This serves as the input context for agent scraping. - */ - agentData?: Schema$GoogleCloudAiplatformV1AgentData; /** * Prompt template data. */ @@ -5143,6 +5070,10 @@ export namespace aiplatform_v1 { * The metric used for evaluation runs. */ export interface Schema$GoogleCloudAiplatformV1EvaluationRunMetric { + /** + * Spec for a computation based metric. + */ + computationBasedMetricSpec?: Schema$GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec; /** * Spec for an LLM based metric. */ @@ -5164,6 +5095,19 @@ export namespace aiplatform_v1 { */ rubricBasedMetricSpec?: Schema$GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec; } + /** + * Specification for a computation based metric. + */ + export interface Schema$GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec { + /** + * Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"\}. + */ + parameters?: {[key: string]: any} | null; + /** + * Required. The type of the computation based metric. + */ + type?: string | null; + } /** * Specification for an LLM based metric. */ @@ -10517,6 +10461,10 @@ export namespace aiplatform_v1 { * Spec for bleu metric. */ bleuSpec?: Schema$GoogleCloudAiplatformV1BleuSpec; + /** + * Spec for a computation based metric. + */ + computationBasedMetricSpec?: Schema$GoogleCloudAiplatformV1ComputationBasedMetricSpec; /** * Spec for Custom Code Execution metric. */ @@ -14277,6 +14225,10 @@ export namespace aiplatform_v1 { * Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160). */ filter?: string | null; + /** + * Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: "author", value: {string_value: "agent 123"\}, op: EQUAL\}]\}, {filters: [{key: "label", value: {string_value: "travel"\}, op: EQUAL\}, {key: "author", value: {string_value: "agent 321"\}, op: EQUAL\}]\}]` would be equivalent to the logical expression: `(metadata.author = "agent 123" OR (metadata.label = "travel" AND metadata.author = "agent 321"))`. + */ + filterGroups?: Schema$GoogleCloudAiplatformV1MemoryConjunctionFilter[]; /** * Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed. */ @@ -134938,6 +134890,153 @@ export namespace aiplatform_v1 { } } + /** + * 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('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 aiplatform.projects.locations.reasoningEngines.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/reasoningEngines/my-reasoningEngine', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Projects$Locations$Reasoningengines$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').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); + } + } + /** * Lists reasoning engines in a location. * @example @@ -135284,24 +135383,182 @@ export namespace aiplatform_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await aiplatform.projects.locations.reasoningEngines.query({ - * // Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` - * name: 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * const res = await aiplatform.projects.locations.reasoningEngines.query({ + * // Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + * name: 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "classMethod": "my_classMethod", + * // "input": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "output": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions + ): Promise>; + query( + params?: Params$Resource$Projects$Locations$Reasoningengines$Query, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + callback: BodyResponseCallback + ): void; + query( + callback: BodyResponseCallback + ): void; + query( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Query + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Query; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Query; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:query').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + 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. 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/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('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 aiplatform.projects.locations.reasoningEngines.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/reasoningEngines/my-reasoningEngine', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "classMethod": "my_classMethod", - * // "input": {} - * // } + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, * }, - * }); + * ); * console.log(res.data); * * // Example response * // { - * // "output": {} + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -135317,62 +135574,56 @@ export namespace aiplatform_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options: StreamMethodOptions ): Promise>; - query( - params?: Params$Resource$Projects$Locations$Reasoningengines$Query, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, + callback: BodyResponseCallback ): void; - query( - callback: BodyResponseCallback + setIamPolicy( + callback: BodyResponseCallback ): void; - query( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Reasoningengines$Query - | BodyResponseCallback + | Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy + | 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$Reasoningengines$Query; + {}) as Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Reasoningengines$Query; + {} as Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy; options = {}; } @@ -135385,26 +135636,27 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:query').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', 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); } } @@ -135556,6 +135808,158 @@ export namespace aiplatform_v1 { 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/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('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 aiplatform.projects.locations.reasoningEngines.testIamPermissions({ + * // 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: 'placeholder-value', + * // 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/reasoningEngines/my-reasoningEngine', + * }); + * 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$Reasoningengines$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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$Reasoningengines$Create extends StandardParameters { @@ -135596,6 +136000,16 @@ export namespace aiplatform_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Reasoningengines$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$Reasoningengines$List extends StandardParameters { /** * Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). @@ -135640,6 +136054,17 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1QueryReasoningEngineRequest; } + export interface Params$Resource$Projects$Locations$Reasoningengines$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$Reasoningengines$Streamquery extends StandardParameters { /** * Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` @@ -135651,6 +136076,16 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest; } + export interface Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions extends StandardParameters { + /** + * 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[]; + /** + * 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; + } export class Resource$Projects$Locations$Reasoningengines$Memories { context: APIRequestContext; @@ -136673,6 +137108,7 @@ export namespace aiplatform_v1 { * // request body parameters * // { * // "filter": "my_filter", + * // "filterGroups": [], * // "force": false * // } * }, diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index b0916fad5c0..2f8f13948f9 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -2049,7 +2049,7 @@ export namespace alloydb_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2136,6 +2136,10 @@ export namespace alloydb_v1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2337,6 +2341,19 @@ export namespace alloydb_v1 { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2358,10 +2375,18 @@ export namespace alloydb_v1 { * MaintenanceInfo to capture the maintenance details of database resource. */ export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo { + /** + * Optional. The date when the current maintenance version was released. + */ + currentVersionReleaseDate?: Schema$GoogleTypeDate; /** * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -2864,7 +2889,7 @@ export namespace alloydb_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index 27a6f4582d0..2d585852b3c 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -656,14 +656,6 @@ export namespace alloydb_v1alpha { * Configuration for Managed Connection Pool (MCP). */ export interface Schema$ConnectionPoolConfig { - /** - * Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already. - */ - defaultPoolSize?: string | null; - /** - * Optional. Deprecated; Prefer 'enabled' as this will be removed soon. - */ - enable?: boolean | null; /** * Optional. Whether to enable Managed Connection Pool (MCP). */ @@ -672,42 +664,10 @@ export namespace alloydb_v1alpha { * Optional. Connection Pool flags, as a list of "key": "value" pairs. */ flags?: {[key: string]: string} | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to ["extra_float_digits"] Note: This field should not be added to client libraries if not present already. - */ - ignoreStartupParameters?: string[] | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already. - */ - maxClientConn?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - maxPreparedStatements?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - minPoolSize?: string | null; /** * Output only. The number of running poolers per instance. */ poolerCount?: number | null; - /** - * Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already. - */ - poolMode?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - queryWaitTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - serverIdleTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already. - */ - statsUsers?: string[] | null; } /** * ContinuousBackupConfig describes the continuous backups recovery configurations of a cluster. @@ -2230,7 +2190,7 @@ export namespace alloydb_v1alpha { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2317,6 +2277,10 @@ export namespace alloydb_v1alpha { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2518,6 +2482,19 @@ export namespace alloydb_v1alpha { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2539,10 +2516,18 @@ export namespace alloydb_v1alpha { * MaintenanceInfo to capture the maintenance details of database resource. */ export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo { + /** + * Optional. The date when the current maintenance version was released. + */ + currentVersionReleaseDate?: Schema$GoogleTypeDate; /** * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -3054,7 +3039,7 @@ export namespace alloydb_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index 36fe137f618..f3e78e68138 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -644,14 +644,6 @@ export namespace alloydb_v1beta { * Configuration for Managed Connection Pool (MCP). */ export interface Schema$ConnectionPoolConfig { - /** - * Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already. - */ - defaultPoolSize?: string | null; - /** - * Optional. Deprecated; Prefer 'enabled' as this will be removed soon. - */ - enable?: boolean | null; /** * Optional. Whether to enable Managed Connection Pool (MCP). */ @@ -660,42 +652,10 @@ export namespace alloydb_v1beta { * Optional. Connection Pool flags, as a list of "key": "value" pairs. */ flags?: {[key: string]: string} | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to ["extra_float_digits"] Note: This field should not be added to client libraries if not present already. - */ - ignoreStartupParameters?: string[] | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already. - */ - maxClientConn?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - maxPreparedStatements?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - minPoolSize?: string | null; /** * Output only. The number of running poolers per instance. */ poolerCount?: number | null; - /** - * Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already. - */ - poolMode?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - queryWaitTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - serverIdleTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already. - */ - statsUsers?: string[] | null; } /** * ContinuousBackupConfig describes the continuous backups recovery configurations of a cluster. @@ -2214,7 +2174,7 @@ export namespace alloydb_v1beta { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2301,6 +2261,10 @@ export namespace alloydb_v1beta { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2502,6 +2466,19 @@ export namespace alloydb_v1beta { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2523,10 +2500,18 @@ export namespace alloydb_v1beta { * MaintenanceInfo to capture the maintenance details of database resource. */ export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo { + /** + * Optional. The date when the current maintenance version was released. + */ + currentVersionReleaseDate?: Schema$GoogleTypeDate; /** * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -3038,7 +3023,7 @@ export namespace alloydb_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/androidmanagement/v1.ts b/src/apis/androidmanagement/v1.ts index d1326c19d32..20badae0866 100644 --- a/src/apis/androidmanagement/v1.ts +++ b/src/apis/androidmanagement/v1.ts @@ -611,7 +611,7 @@ export namespace androidmanagement_v1 { */ export interface Schema$ApplicationSigningKeyCert { /** - * Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. Otherwise, the policy is rejected. + * Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. */ signingKeyCertFingerprintSha256?: string | null; } @@ -2363,7 +2363,7 @@ export namespace androidmanagement_v1 { */ networkOperatorName?: string | null; /** - * Provides telephony information associated with each SIM card on the device. Only supported on fully managed devices starting from Android API level 23. + * Provides telephony information associated with each SIM card on the device. Only supported on fully managed devices starting from Android 6. */ telephonyInfos?: Schema$TelephonyInfo[]; /** @@ -3609,11 +3609,11 @@ export namespace androidmanagement_v1 { updateStatus?: string | null; } /** - * Telephony information associated with a given SIM card on the device. Only supported on fully managed devices starting from Android API level 23. + * Telephony information associated with a given SIM card on the device. This is supported for all SIM cards on fully managed devices on Android 6 and above. In addition, this is supported for admin-added eSIMs on all devices for Android 15 and above. */ export interface Schema$TelephonyInfo { /** - * Output only. Activation state of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for API level 35 and above. This is always ACTIVATION_STATE_UNSPECIFIED for physical SIMs and for devices below API level 35. + * Output only. Activation state of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for Android 15 and above. This is always ACTIVATION_STATE_UNSPECIFIED for physical SIMs and for devices below Android 15. */ activationState?: string | null; /** @@ -3621,7 +3621,7 @@ export namespace androidmanagement_v1 { */ carrierName?: string | null; /** - * Output only. The configuration mode of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for API level 35 and above. This is always CONFIG_MODE_UNSPECIFIED for physical SIMs and for devices below API level 35. + * Output only. The configuration mode of the SIM card on the device. This is applicable for eSIMs only. This is supported on all devices for Android 15 and above. This is always CONFIG_MODE_UNSPECIFIED for physical SIMs and for devices below Android 15. */ configMode?: string | null; /** diff --git a/src/apis/apigateway/v1.ts b/src/apis/apigateway/v1.ts index 84095f21fbe..0289c62f904 100644 --- a/src/apis/apigateway/v1.ts +++ b/src/apis/apigateway/v1.ts @@ -763,7 +763,7 @@ export namespace apigateway_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/apigateway/v1beta.ts b/src/apis/apigateway/v1beta.ts index e8e0073db53..93333234115 100644 --- a/src/apis/apigateway/v1beta.ts +++ b/src/apis/apigateway/v1beta.ts @@ -785,7 +785,7 @@ export namespace apigateway_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/apihub/v1.ts b/src/apis/apihub/v1.ts index 9c91839a8d2..7f10cea3bea 100644 --- a/src/apis/apihub/v1.ts +++ b/src/apis/apihub/v1.ts @@ -3239,7 +3239,7 @@ export namespace apihub_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/apim/v1alpha.ts b/src/apis/apim/v1alpha.ts index 44f090f6f8e..3998295b4d9 100644 --- a/src/apis/apim/v1alpha.ts +++ b/src/apis/apim/v1alpha.ts @@ -956,7 +956,7 @@ export namespace apim_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/appengine/v1beta.ts b/src/apis/appengine/v1beta.ts index 4021bf68482..bc2706a9a6d 100644 --- a/src/apis/appengine/v1beta.ts +++ b/src/apis/appengine/v1beta.ts @@ -12425,6 +12425,175 @@ export namespace appengine_v1beta { return createAPIRequest(parameters); } } + + /** + * Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/appengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.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 appengine.projects.locations.applications.services.versions.instances.delete( + * { + * // Part of `name`. See documentation of `projectsId`. + * applicationsId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * instancesId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * locationsId: 'placeholder-value', + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * projectsId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * servicesId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * versionsId: 'placeholder-value', + * }, + * ); + * 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$Applications$Services$Versions$Instances$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + 'versionsId', + 'instancesId', + ], + pathParams: [ + 'applicationsId', + 'instancesId', + 'locationsId', + 'projectsId', + 'servicesId', + 'versionsId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Debug extends StandardParameters { @@ -12458,6 +12627,32 @@ export namespace appengine_v1beta { */ requestBody?: Schema$DebugInstanceRequest; } + export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + versionsId?: string; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; diff --git a/src/apis/appsmarket/v2.ts b/src/apis/appsmarket/v2.ts index 74ad40c6172..ec1750b71b9 100644 --- a/src/apis/appsmarket/v2.ts +++ b/src/apis/appsmarket/v2.ts @@ -144,11 +144,11 @@ export namespace appsmarket_v2 { */ id?: string | null; /** - * The type of API resource. This is always appsmarket#customerLicense. + * The type of API resource. This is always `appsmarket#customerLicense`. */ kind?: string | null; /** - * The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license: either this customer has never installed your application, or else has deleted it. + * The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license. Either this customer has never installed your application or has deleted it. */ state?: string | null; } @@ -184,11 +184,11 @@ export namespace appsmarket_v2 { */ enabled?: boolean | null; /** - * The ID of user license. + * The ID of the user license. */ id?: string | null; /** - * The type of API resource. This is always appsmarket#userLicense. + * The type of API resource. This is always `appsmarket#userLicense`. */ kind?: string | null; /** @@ -208,7 +208,7 @@ export namespace appsmarket_v2 { } /** - * Gets the status of a license for a customer to determine if they have access for a given app. + * Gets the customer's licensing status to determine if they have access to a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api). * @example * ```js * // Before running the sample: @@ -238,9 +238,9 @@ export namespace appsmarket_v2 { * * // Do the magic * const res = await appsmarket.customerLicense.get({ - * // Application Id + * // The ID of the application. * applicationId: 'placeholder-value', - * // Customer Id + * // The ID of the customer. * customerId: 'placeholder-value', * }); * console.log(res.data); @@ -354,11 +354,11 @@ export namespace appsmarket_v2 { export interface Params$Resource$Customerlicense$Get extends StandardParameters { /** - * Application Id + * The ID of the application. */ applicationId?: string; /** - * Customer Id + * The ID of the customer. */ customerId?: string; } @@ -370,7 +370,7 @@ export namespace appsmarket_v2 { } /** - * Gets the user's licensing status for their permission to use a given app. + * Gets the user's licensing status to determine if they have permission to use a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api). * @example * ```js * // Before running the sample: @@ -400,9 +400,9 @@ export namespace appsmarket_v2 { * * // Do the magic * const res = await appsmarket.userLicense.get({ - * // Application Id + * // The ID of the application. * applicationId: 'placeholder-value', - * // User Id + * // The ID of the user. * userId: 'placeholder-value', * }); * console.log(res.data); @@ -516,11 +516,11 @@ export namespace appsmarket_v2 { export interface Params$Resource$Userlicense$Get extends StandardParameters { /** - * Application Id + * The ID of the application. */ applicationId?: string; /** - * User Id + * The ID of the user. */ userId?: string; } diff --git a/src/apis/artifactregistry/v1.ts b/src/apis/artifactregistry/v1.ts index f0a6572dfaf..ba29820a111 100644 --- a/src/apis/artifactregistry/v1.ts +++ b/src/apis/artifactregistry/v1.ts @@ -2421,7 +2421,7 @@ export namespace artifactregistry_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/artifactregistry/v1beta1.ts b/src/apis/artifactregistry/v1beta1.ts index 5769233eda8..c8123948cb2 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. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/backupdr/v1.ts b/src/apis/backupdr/v1.ts index 49a7885436a..e03275bb8b4 100644 --- a/src/apis/backupdr/v1.ts +++ b/src/apis/backupdr/v1.ts @@ -2643,7 +2643,7 @@ export namespace backupdr_v1 { */ uid?: string | null; /** - * Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. set. + * Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. */ vaulted?: boolean | null; } @@ -3318,7 +3318,7 @@ export namespace backupdr_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/beyondcorp/v1.ts b/src/apis/beyondcorp/v1.ts index dcf9824d386..95f89022444 100644 --- a/src/apis/beyondcorp/v1.ts +++ b/src/apis/beyondcorp/v1.ts @@ -2463,7 +2463,7 @@ export namespace beyondcorp_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/beyondcorp/v1alpha.ts b/src/apis/beyondcorp/v1alpha.ts index 8d69b565b6a..a34c10d9cfd 100644 --- a/src/apis/beyondcorp/v1alpha.ts +++ b/src/apis/beyondcorp/v1alpha.ts @@ -4683,7 +4683,7 @@ export namespace beyondcorp_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/biglake/v1.ts b/src/apis/biglake/v1.ts index a050086dde6..8e4b7a01549 100644 --- a/src/apis/biglake/v1.ts +++ b/src/apis/biglake/v1.ts @@ -425,6 +425,24 @@ export namespace biglake_v1 { */ updateTime?: 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; + } export class Resource$Projects { context: APIRequestContext; @@ -741,6 +759,158 @@ export namespace biglake_v1 { return createAPIRequest(parameters); } } + + /** + * Tests the IAM permissions for the specified catalog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/biglake.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const biglake = google.biglake('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/bigquery', + * '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 biglake.projects.catalogs.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/catalogs/my-catalog', + * + * // 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$Catalogs$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Catalogs$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Catalogs$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Catalogs$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Catalogs$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://biglake.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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$Catalogs$Getiampolicy extends StandardParameters { @@ -764,11 +934,26 @@ export namespace biglake_v1 { */ requestBody?: Schema$SetIamPolicyRequest; } + export interface Params$Resource$Projects$Catalogs$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$TestIamPermissionsRequest; + } export class Resource$Projects$Catalogs$Namespaces { context: APIRequestContext; + tables: Resource$Projects$Catalogs$Namespaces$Tables; constructor(context: APIRequestContext) { this.context = context; + this.tables = new Resource$Projects$Catalogs$Namespaces$Tables( + this.context + ); } /** @@ -1069,28 +1254,688 @@ export namespace biglake_v1 { return createAPIRequest(parameters); } } - } - export interface Params$Resource$Projects$Catalogs$Namespaces$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$Catalogs$Namespaces$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. + * Tests the IAM permissions for the specified namespace. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/biglake.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const biglake = google.biglake('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/bigquery', + * '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 biglake.projects.catalogs.namespaces.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/catalogs/my-catalog/namespaces/my-namespace', + * + * // 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. */ - resource?: string; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Catalogs$Namespaces$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://biglake.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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$Catalogs$Namespaces$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$Catalogs$Namespaces$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$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Catalogs$Namespaces$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$TestIamPermissionsRequest; + } + + export class Resource$Projects$Catalogs$Namespaces$Tables { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the IAM policy for the specified Catalog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/biglake.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const biglake = google.biglake('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/bigquery', + * '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 biglake.projects.catalogs.namespaces.tables.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/catalogs/my-catalog/namespaces/my-namespace/tables/my-table', + * }); + * 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$Projects$Catalogs$Namespaces$Tables$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Catalogs$Namespaces$Tables$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://biglake.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the IAM policy for the specified catalog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/biglake.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const biglake = google.biglake('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/bigquery', + * '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 biglake.projects.catalogs.namespaces.tables.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/catalogs/my-catalog/namespaces/my-namespace/tables/my-table', + * + * // 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$Catalogs$Namespaces$Tables$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Catalogs$Namespaces$Tables$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://biglake.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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); + } + } + + /** + * Tests the IAM permissions for the specified table. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/biglake.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const biglake = google.biglake('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/bigquery', + * '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 biglake.projects.catalogs.namespaces.tables.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/catalogs/my-catalog/namespaces/my-namespace/tables/my-table', + * + * // 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$Catalogs$Namespaces$Tables$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Catalogs$Namespaces$Tables$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://biglake.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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$Catalogs$Namespaces$Tables$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$Catalogs$Namespaces$Tables$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$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Catalogs$Namespaces$Tables$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$TestIamPermissionsRequest; } export class Resource$Projects$Locations { diff --git a/src/apis/bigquery/README.md b/src/apis/bigquery/README.md index d6b0bd8f5a0..4582c3e8cdf 100644 --- a/src/apis/bigquery/README.md +++ b/src/apis/bigquery/README.md @@ -4,15 +4,6 @@ > A data platform for customers to create, manage, share and query data. -## Support status -**Note**: Google provides multiple libraries for this service. This library is in -maintenance mode, and will continue to be made available for users who have -existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/bigquery](https://www.npmjs.com/package/@google-cloud/bigquery) instead. -The [@google-cloud/bigquery](https://www.npmjs.com/package/@google-cloud/bigquery) library is faster, easier to use, and better maintained. - -To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). - ## Installation ```sh diff --git a/src/apis/bigquerydatatransfer/v1.ts b/src/apis/bigquerydatatransfer/v1.ts index 2de738cab8a..11131978748 100644 --- a/src/apis/bigquerydatatransfer/v1.ts +++ b/src/apis/bigquerydatatransfer/v1.ts @@ -1711,7 +1711,7 @@ export namespace bigquerydatatransfer_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/bigtableadmin/v2.ts b/src/apis/bigtableadmin/v2.ts index 34be6009672..0f70f4cc349 100644 --- a/src/apis/bigtableadmin/v2.ts +++ b/src/apis/bigtableadmin/v2.ts @@ -1048,6 +1048,10 @@ export namespace bigtableadmin_v2 { * Float64 Values of type `Float64` are stored in `Value.float_value`. */ export interface Schema$GoogleBigtableAdminV2TypeFloat64 {} + /** + * A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes. + */ + export interface Schema$GoogleBigtableAdminV2TypeGeography {} /** * Int64 Values of type `Int64` are stored in `Value.int_value`. */ @@ -2019,6 +2023,10 @@ export namespace bigtableadmin_v2 { * Float64 */ float64Type?: Schema$GoogleBigtableAdminV2TypeFloat64; + /** + * Geography + */ + geographyType?: Schema$GoogleBigtableAdminV2TypeGeography; /** * Int64 */ @@ -15520,7 +15528,7 @@ export namespace bigtableadmin_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/ces/README.md b/src/apis/ces/README.md new file mode 100644 index 00000000000..42e04e58cdc --- /dev/null +++ b/src/apis/ces/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# ces + +> + +## Installation + +```sh +$ npm install @googleapis/ces +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/ces/classes/Ces.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/ces/index.ts b/src/apis/ces/index.ts new file mode 100644 index 00000000000..1ef6ea899f6 --- /dev/null +++ b/src/apis/ces/index.ts @@ -0,0 +1,48 @@ +// 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. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {ces_v1} from './v1'; +import {ces_v1beta} from './v1beta'; + +export const VERSIONS = { + v1: ces_v1.Ces, + v1beta: ces_v1beta.Ces, +}; + +export function ces(version: 'v1'): ces_v1.Ces; +export function ces(options: ces_v1.Options): ces_v1.Ces; +export function ces(version: 'v1beta'): ces_v1beta.Ces; +export function ces(options: ces_v1beta.Options): ces_v1beta.Ces; +export function ces( + this: GoogleConfigurable, + versionOrOptions: 'v1' | ces_v1.Options | 'v1beta' | ces_v1beta.Options +) { + return getAPI('ces', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {ces_v1}; +export {ces_v1beta}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/ces/package.json b/src/apis/ces/package.json new file mode 100644 index 00000000000..573cbdf8d4e --- /dev/null +++ b/src/apis/ces/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/ces", + "version": "0.1.0", + "description": "ces", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^8.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^6.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "5.7.3", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/ces/tsconfig.json b/src/apis/ces/tsconfig.json new file mode 100644 index 00000000000..e0810904968 --- /dev/null +++ b/src/apis/ces/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/ces/v1.ts b/src/apis/ces/v1.ts new file mode 100644 index 00000000000..79948142008 --- /dev/null +++ b/src/apis/ces/v1.ts @@ -0,0 +1,13483 @@ +// 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 ces_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + 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; + } + + /** + * Gemini Enterprise for Customer Experience API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * ``` + */ + export class Ces { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details. + */ + export interface Schema$Action { + /** + * ID of a Connection action for the tool to use. + */ + connectionActionId?: string | null; + /** + * Entity operation configuration for the tool to use. + */ + entityOperation?: Schema$ActionEntityOperation; + /** + * Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used. + */ + inputFields?: string[] | null; + /** + * Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned. + */ + outputFields?: string[] | null; + } + /** + * Entity CRUD operation specification. + */ + export interface Schema$ActionEntityOperation { + /** + * Required. ID of the entity. + */ + entityId?: string | null; + /** + * Required. Operation to perform on the entity. + */ + operation?: string | null; + } + /** + * An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks. + */ + export interface Schema$Agent { + /** + * Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterToolCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeToolCallbacks?: Schema$Callback[]; + /** + * Optional. List of child agents in the agent tree. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgents?: string[] | null; + /** + * Output only. Timestamp when the agent was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the agent. + */ + description?: string | null; + /** + * Required. Display name of the agent. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. List of guardrails for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Instructions for the LLM model to guide the agent's behavior. + */ + instruction?: string | null; + /** + * Optional. The default agent type. + */ + llmAgent?: Schema$AgentLlmAgent; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string | null; + /** + * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + remoteDialogflowAgent?: Schema$AgentRemoteDialogflowAgent; + /** + * Optional. List of available tools for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tools?: string[] | null; + /** + * Optional. List of toolsets for the agent. + */ + toolsets?: Schema$AgentAgentToolset[]; + /** + * Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used. + */ + transferRules?: Schema$TransferRule[]; + /** + * Output only. Timestamp when the agent was last updated. + */ + updateTime?: string | null; + } + /** + * A toolset with a selection of its tools. + */ + export interface Schema$AgentAgentToolset { + /** + * Optional. The tools IDs to filter the toolset. + */ + toolIds?: string[] | null; + /** + * Required. The resource name of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. + */ + export interface Schema$AgentLlmAgent {} + /** + * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. + */ + export interface Schema$AgentRemoteDialogflowAgent { + /** + * Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agent?: string | null; + /** + * Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used. + */ + environmentId?: string | null; + /** + * Optional. The flow ID of the flow in the Dialogflow agent. + */ + flowId?: string | null; + /** + * Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings. + */ + respectResponseInterruptionSettings?: boolean | null; + } + /** + * Represents an event indicating the transfer of a conversation to a different agent. + */ + export interface Schema$AgentTransfer { + /** + * Output only. Display name of the agent. + */ + displayName?: string | null; + /** + * 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\}` + */ + targetAgent?: string | null; + } + /** + * Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + export interface Schema$AmbientSoundConfig { + /** + * Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object. + */ + gcsUri?: string | null; + /** + * Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`. + */ + prebuiltAmbientNoise?: string | null; + /** + * Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner" + */ + prebuiltAmbientSound?: string | null; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: number | null; + } + /** + * Authentication information required for API calls. + */ + export interface Schema$ApiAuthentication { + /** + * Optional. Config for API key auth. + */ + apiKeyConfig?: Schema$ApiKeyConfig; + /** + * Optional. Config for bearer token auth. + */ + bearerTokenConfig?: Schema$BearerTokenConfig; + /** + * Optional. Config for OAuth. + */ + oauthConfig?: Schema$OAuthConfig; + /** + * Optional. Config for service account authentication. + */ + serviceAccountAuthConfig?: Schema$ServiceAccountAuthConfig; + /** + * Optional. Config for ID token auth generated from CES service agent. + */ + serviceAgentIdTokenAuthConfig?: Schema$ServiceAgentIdTokenAuthConfig; + } + /** + * Configurations for authentication with API key. + */ + export interface Schema$ApiKeyConfig { + /** + * Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + apiKeySecretVersion?: string | null; + /** + * Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + */ + keyName?: string | null; + /** + * Required. Key location in the request. + */ + requestLocation?: string | null; + } + /** + * An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context. + */ + export interface Schema$App { + /** + * Optional. Audio processing configuration of the app. + */ + audioProcessingConfig?: Schema$AudioProcessingConfig; + /** + * Optional. The default client certificate settings for the app. + */ + clientCertificateSettings?: Schema$ClientCertificateSettings; + /** + * Output only. Timestamp when the app was created. + */ + createTime?: string | null; + /** + * Optional. The data store settings for the app. + */ + dataStoreSettings?: Schema$DataStoreSettings; + /** + * Optional. The default channel profile used by the app. + */ + defaultChannelProfile?: Schema$ChannelProfile; + /** + * Output only. Number of deployments in the app. + */ + deploymentCount?: number | null; + /** + * Optional. Human-readable description of the app. + */ + description?: string | null; + /** + * Required. Display name of the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The evaluation thresholds for the app. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents. + */ + globalInstruction?: string | null; + /** + * Optional. List of guardrails for the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Language settings of the app. + */ + languageSettings?: Schema$LanguageSettings; + /** + * Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. + */ + locked?: boolean | null; + /** + * Optional. Logging settings of the app. + */ + loggingSettings?: Schema$LoggingSettings; + /** + * Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages. + */ + metadata?: {[key: string]: string} | null; + /** + * Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string | null; + /** + * Optional. Whether the app is pinned in the app list. + */ + pinned?: boolean | null; + /** + * Output only. The declarations of predefined variables for the app. + */ + predefinedVariableDeclarations?: Schema$AppVariableDeclaration[]; + /** + * Optional. The root agent is the entry point of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + rootAgent?: string | null; + /** + * Optional. TimeZone settings of the app. + */ + timeZoneSettings?: Schema$TimeZoneSettings; + /** + * Optional. The tool execution mode for the app. If not provided, will default to PARALLEL. + */ + toolExecutionMode?: string | null; + /** + * Output only. Timestamp when the app was last updated. + */ + updateTime?: string | null; + /** + * Optional. The declarations of the variables. + */ + variableDeclarations?: Schema$AppVariableDeclaration[]; + } + /** + * A snapshot of the app. + */ + export interface Schema$AppSnapshot { + /** + * Optional. List of agents in the app. + */ + agents?: Schema$Agent[]; + /** + * Optional. The basic settings for the app. + */ + app?: Schema$App; + /** + * Optional. List of examples in the app. + */ + examples?: Schema$Example[]; + /** + * Optional. List of guardrails in the app. + */ + guardrails?: Schema$Guardrail[]; + /** + * Optional. List of tools in the app. + */ + tools?: Schema$Tool[]; + /** + * Optional. List of toolsets in the app. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Defines the structure and metadata for a variable. + */ + export interface Schema$AppVariableDeclaration { + /** + * Required. The description of the variable. + */ + description?: string | null; + /** + * Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores. + */ + name?: string | null; + /** + * Required. The schema of the variable. + */ + schema?: Schema$Schema; + } + /** + * In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created. + */ + export interface Schema$AppVersion { + /** + * Output only. Timestamp when the app version was created. + */ + createTime?: string | null; + /** + * Output only. Email of the user who created the app version. + */ + creator?: string | null; + /** + * Optional. The description of the app version. + */ + description?: string | null; + /** + * Optional. The display name of the app version. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string | null; + /** + * Output only. The snapshot of the app when the version is created. + */ + snapshot?: Schema$AppSnapshot; + } + /** + * Configuration for how the input and output audio should be processed and delivered. + */ + export interface Schema$AudioProcessingConfig { + /** + * Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + ambientSoundConfig?: Schema$AmbientSoundConfig; + /** + * Optional. Configures the agent behavior for the user barge-in activities. + */ + bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. + */ + inactivityTimeout?: string | null; + /** + * Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. + */ + synthesizeSpeechConfigs?: { + [key: string]: Schema$SynthesizeSpeechConfig; + } | null; + } + /** + * Configuration for how the audio interactions should be recorded. + */ + export interface Schema$AudioRecordingConfig { + /** + * Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + gcsBucket?: string | null; + /** + * Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. + */ + gcsPathPrefix?: string | null; + } + /** + * Configuration for how the user barge-in activities should be handled. + */ + export interface Schema$BargeInConfig { + /** + * Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually. + */ + bargeInAwareness?: boolean | null; + /** + * Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile. + */ + disableBargeIn?: boolean | null; + } + /** + * Request message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsRequest { + /** + * Required. The resource names of the conversations to delete. + */ + conversations?: string[] | null; + } + /** + * Configurations for authentication with a bearer token. + */ + export interface Schema$BearerTokenConfig { + /** + * Required. The bearer token. Must be in the format `$context.variables.`. + */ + token?: string | null; + } + /** + * Settings to describe the BigQuery export behaviors for the app. + */ + export interface Schema$BigQueryExportSettings { + /** + * Optional. The BigQuery dataset to export the data to. + */ + dataset?: string | null; + /** + * Optional. Indicates whether the BigQuery export is enabled. + */ + enabled?: boolean | null; + /** + * Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + project?: string | null; + } + /** + * Represents a blob input or output in the conversation. + */ + export interface Schema$Blob { + /** + * Required. Raw bytes of the blob. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. + */ + mimeType?: string | null; + } + /** + * A callback defines the custom logic to be executed at various stages of agent interaction. + */ + export interface Schema$Callback { + /** + * Optional. Human-readable description of the callback. + */ + description?: string | null; + /** + * Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent. + */ + disabled?: boolean | null; + /** + * Optional. If enabled, the callback will also be executed on intermediate model outputs. This setting only affects after model callback. **ENABLE WITH CAUTION**. Typically after model callback only needs to be executed after receiving all model responses. Enabling proactive execution may have negative implication on the execution cost and latency, and should only be enabled in rare situations. + */ + proactiveExecutionEnabled?: boolean | null; + /** + * Required. The python code to execute for the callback. + */ + pythonCode?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Changelogs represent a change made to the app or to an resource within the app. + */ + export interface Schema$Changelog { + /** + * Output only. The action that was performed on the resource. + */ + action?: string | null; + /** + * Output only. Email address of the change author. + */ + author?: string | null; + /** + * Output only. The time when the change was made. + */ + createTime?: string | null; + /** + * Output only. The dependent resources that were changed. + */ + dependentResources?: Array<{[key: string]: any}> | null; + /** + * Output only. Description of the change. which typically captures the changed fields in the resource. + */ + description?: string | null; + /** + * Output only. Display name of the change. It typically should be the display name of the resource that was changed. + */ + displayName?: string | null; + /** + * Identifier. The unique identifier of the changelog. Format: `projects/{project\}/locations/{location\}/apps/{app\}/changelogs/{changelog\}` + */ + name?: string | null; + /** + * Output only. The new resource after the change. + */ + newResource?: {[key: string]: any} | null; + /** + * Output only. The original resource before the change. + */ + originalResource?: {[key: string]: any} | null; + /** + * Output only. The resource that was changed. + */ + resource?: string | null; + /** + * Output only. The type of the resource that was changed. + */ + resourceType?: string | null; + /** + * Output only. The monotonically increasing sequence number of the changelog. + */ + sequenceNumber?: string | null; + } + /** + * A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. + */ + export interface Schema$ChannelProfile { + /** + * Optional. The type of the channel profile. + */ + channelType?: string | null; + /** + * Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt. + */ + disableBargeInControl?: boolean | null; + /** + * Optional. Whether to disable DTMF (dual-tone multi-frequency). + */ + disableDtmf?: boolean | null; + /** + * Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Optional. The persona property of the channel profile. + */ + personaProperty?: Schema$ChannelProfilePersonaProperty; + /** + * Optional. The unique identifier of the channel profile. + */ + profileId?: string | null; + /** + * Optional. The configuration for the web widget. + */ + webWidgetConfig?: Schema$ChannelProfileWebWidgetConfig; + } + /** + * Represents the persona property of a channel. + */ + export interface Schema$ChannelProfilePersonaProperty { + /** + * Optional. The persona of the channel. + */ + persona?: string | null; + } + /** + * Message for configuration for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfig { + /** + * Optional. The modality of the web widget. + */ + modality?: string | null; + /** + * Optional. The security settings of the web widget. + */ + securitySettings?: Schema$ChannelProfileWebWidgetConfigSecuritySettings; + /** + * Optional. The theme of the web widget. + */ + theme?: string | null; + /** + * Optional. The title of the web widget. + */ + webWidgetTitle?: string | null; + } + /** + * Security settings for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfigSecuritySettings { + /** + * Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com" + */ + allowedOrigins?: string[] | null; + /** + * Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins. + */ + enableOriginCheck?: boolean | null; + /** + * Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent. + */ + enablePublicAccess?: boolean | null; + /** + * Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. + */ + enableRecaptcha?: boolean | null; + } + /** + * A chunk of content within a message. + */ + export interface Schema$Chunk { + /** + * Optional. Agent transfer event. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * A struct represents default variables at the start of the conversation, keyed by variable names. + */ + defaultVariables?: {[key: string]: any} | null; + /** + * Optional. Image data. + */ + image?: Schema$Image; + /** + * Optional. Custom payload data. + */ + payload?: {[key: string]: any} | null; + /** + * Optional. Text data. + */ + text?: string | null; + /** + * Optional. Tool execution request. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Tool execution response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Transcript associated with the audio. + */ + transcript?: string | null; + /** + * A struct represents variables that were updated in the conversation, keyed by variable names. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * Citations associated with the agent response. + */ + export interface Schema$Citations { + /** + * List of cited pieces of information. + */ + citedChunks?: Schema$CitationsCitedChunk[]; + } + /** + * Piece of cited information. + */ + export interface Schema$CitationsCitedChunk { + /** + * Text used for citaiton. + */ + text?: string | null; + /** + * Title of the cited document. + */ + title?: string | null; + /** + * URI used for citation. + */ + uri?: string | null; + } + /** + * Settings for custom client certificates. + */ + export interface Schema$ClientCertificateSettings { + /** + * Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + passphrase?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + privateKey?: string | null; + /** + * Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines. + */ + tlsCertificate?: string | null; + } + /** + * Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent. + */ + export interface Schema$ClientFunction { + /** + * Optional. The function description. + */ + description?: string | null; + /** + * Required. The function name. + */ + name?: string | null; + /** + * Optional. The schema of the function parameters. + */ + parameters?: Schema$Schema; + /** + * Optional. The schema of the function response. + */ + response?: Schema$Schema; + } + /** + * Settings to describe the Cloud Logging behaviors for the app. + */ + export interface Schema$CloudLoggingSettings { + /** + * Optional. Whether to enable Cloud Logging for the sessions. + */ + enableCloudLogging?: boolean | null; + } + /** + * A code block to be executed instead of a real tool call. + */ + export interface Schema$CodeBlock { + /** + * Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id\}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead. + */ + pythonCode?: string | null; + } + /** + * A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview. + */ + export interface Schema$ConnectorTool { + /** + * Required. Action for the tool to use. + */ + action?: Schema$Action; + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details. + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + description?: string | null; + /** + * Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + name?: string | null; + } + /** + * A toolset that generates tools from an Integration Connectors Connection. + */ + export interface Schema$ConnectorToolset { + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Required. The list of connector actions/entity operations to generate tools for. + */ + connectorActions?: Schema$Action[]; + } + /** + * A conversation represents an interaction between an end user and the CES app. + */ + export interface Schema$Conversation { + /** + * Output only. The version of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * DEPRECATED. Please use input_types instead. + */ + channelType?: string | null; + /** + * Output only. The deployment of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Output only. Timestamp when the conversation was completed. + */ + endTime?: string | null; + /** + * Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Output only. The input types of the conversation. + */ + inputTypes?: string[] | null; + /** + * Output only. The language code of the conversation. + */ + languageCode?: string | null; + /** + * Deprecated. Use turns instead. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + name?: string | null; + /** + * Output only. Indicate the source of the conversation. + */ + source?: string | null; + /** + * Output only. Timestamp when the conversation was created. + */ + startTime?: string | null; + /** + * Output only. The number of turns in the conversation. + */ + turnCount?: number | null; + /** + * Required. The turns in the conversation. + */ + turns?: Schema$ConversationTurn[]; + } + /** + * Settings to describe the conversation logging behaviors for the app. + */ + export interface Schema$ConversationLoggingSettings { + /** + * Optional. Whether to disable conversation logging for the sessions. + */ + disableConversationLogging?: boolean | null; + } + /** + * All information about a single turn in the conversation. + */ + export interface Schema$ConversationTurn { + /** + * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. + */ + messages?: Schema$Message[]; + /** + * Optional. The root span of the action processing. + */ + rootSpan?: Schema$Span; + } + /** + * A DataStore resource in Vertex AI Search. + */ + export interface Schema$DataStore { + /** + * Output only. The connector config for the data store connection. + */ + connectorConfig?: Schema$DataStoreConnectorConfig; + /** + * Output only. Timestamp when the data store was created. + */ + createTime?: string | null; + /** + * Output only. The display name of the data store. + */ + displayName?: string | null; + /** + * Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores. + */ + documentProcessingMode?: string | null; + /** + * Required. Full resource name of the DataStore. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}` + */ + name?: string | null; + /** + * Output only. The type of the data store. This field is readonly and populated by the server. + */ + type?: string | null; + } + /** + * The connector config for the data store connection. + */ + export interface Schema$DataStoreConnectorConfig { + /** + * Resource name of the collection the data store belongs to. + */ + collection?: string | null; + /** + * Display name of the collection the data store belongs to. + */ + collectionDisplayName?: string | null; + /** + * The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`. + */ + dataSource?: string | null; + } + /** + * Data store related settings for the app. + */ + export interface Schema$DataStoreSettings { + /** + * Output only. The engines for the app. + */ + engines?: Schema$DataStoreSettingsEngine[]; + } + /** + * An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreSettingsEngine { + /** + * Output only. The resource name of the engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + name?: string | null; + /** + * Output only. The type of the engine. + */ + type?: string | null; + } + /** + * Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreTool { + /** + * Optional. Boost specification to boost certain documents. + */ + boostSpecs?: Schema$DataStoreToolBoostSpecs[]; + /** + * Optional. Search within a single specific DataStore. + */ + dataStoreSource?: Schema$DataStoreToolDataStoreSource; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. Search within an Engine (potentially across multiple DataStores). + */ + engineSource?: Schema$DataStoreToolEngineSource; + /** + * Optional. The filter parameter behavior. + */ + filterParameterBehavior?: string | null; + /** + * Optional. The modality configs for the data store. + */ + modalityConfigs?: Schema$DataStoreToolModalityConfig[]; + /** + * Required. The data store tool name. + */ + name?: string | null; + } + /** + * Boost specification to boost certain documents. + */ + export interface Schema$DataStoreToolBoostSpec { + /** + * Required. A list of boosting specifications. + */ + conditionBoostSpecs?: Schema$DataStoreToolBoostSpecConditionBoostSpec[]; + } + /** + * Boost specification for a condition. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY("en", "fr")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting. + */ + export interface Schema$DataStoreToolBoostSpecs { + /** + * Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}. + */ + dataStores?: string[] | null; + /** + * Required. A list of boosting specifications. + */ + spec?: Schema$DataStoreToolBoostSpec[]; + } + /** + * Configuration for searching within a specific DataStore. + */ + export interface Schema$DataStoreToolDataStoreSource { + /** + * Optional. The data store. + */ + dataStore?: Schema$DataStore; + /** + * Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Configuration for searching within an Engine, potentially targeting specific DataStores. + */ + export interface Schema$DataStoreToolEngineSource { + /** + * Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine. + */ + dataStoreSources?: Schema$DataStoreToolDataStoreSource[]; + /** + * Required. Full resource name of the Engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + engine?: string | null; + /** + * Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Grounding configuration. + */ + export interface Schema$DataStoreToolGroundingConfig { + /** + * Optional. Whether grounding is disabled. + */ + disabled?: boolean | null; + /** + * Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned. + */ + groundingLevel?: number | null; + } + /** + * If specified, will apply the given configuration for the specified modality. + */ + export interface Schema$DataStoreToolModalityConfig { + /** + * Optional. The grounding configuration. + */ + groundingConfig?: Schema$DataStoreToolGroundingConfig; + /** + * Required. The modality type. + */ + modalityType?: string | null; + /** + * Optional. The rewriter config. + */ + rewriterConfig?: Schema$DataStoreToolRewriterConfig; + /** + * Optional. The summarization config. + */ + summarizationConfig?: Schema$DataStoreToolSummarizationConfig; + } + /** + * Rewriter configuration. + */ + export interface Schema$DataStoreToolRewriterConfig { + /** + * Optional. Whether the rewriter is disabled. + */ + disabled?: boolean | null; + /** + * Required. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Summarization configuration. + */ + export interface Schema$DataStoreToolSummarizationConfig { + /** + * Optional. Whether summarization is disabled. + */ + disabled?: boolean | null; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. + */ + export interface Schema$Deployment { + /** + * Required. The resource name of the app version to deploy. Format: projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\} + */ + appVersion?: string | null; + /** + * Required. The channel profile used in the deployment. + */ + channelProfile?: Schema$ChannelProfile; + /** + * Output only. Timestamp when this deployment was created. + */ + createTime?: string | null; + /** + * Required. Display name of the deployment. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string | null; + /** + * Output only. Timestamp when this deployment was last updated. + */ + updateTime?: 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 {} + /** + * 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. + */ + export interface Schema$EndSession { + /** + * Optional. Provides additional information about the end session signal, such as the reason for ending the session. + */ + metadata?: {[key: string]: any} | null; + } + /** + * End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`. + */ + export interface Schema$EndUserAuthConfig { + /** + * Oauth 2.0 Authorization Code authentication. + */ + oauth2AuthCodeConfig?: Schema$EndUserAuthConfigOauth2AuthCodeConfig; + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication. + */ + oauth2JwtBearerConfig?: Schema$EndUserAuthConfigOauth2JwtBearerConfig; + } + /** + * Oauth 2.0 Authorization Code authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2AuthCodeConfig { + /** + * Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`. + */ + oauthToken?: string | null; + } + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2JwtBearerConfig { + /** + * Required. Client parameter name to pass through. Must be in the format `$context.variables.`. + */ + clientKey?: string | null; + /** + * Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`. + */ + issuer?: string | null; + /** + * Required. Subject parameter name to pass through. Must be in the format `$context.variables.`. + */ + subject?: string | null; + } + /** + * Threshold settings for metrics in an Evaluation. + */ + export interface Schema$EvaluationMetricsThresholds { + /** + * Optional. The golden evaluation metrics thresholds. + */ + goldenEvaluationMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds; + /** + * Optional. The hallucination metric behavior for golden evaluations. + */ + goldenHallucinationMetricBehavior?: string | null; + /** + * Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations. + */ + hallucinationMetricBehavior?: string | null; + /** + * Optional. The hallucination metric behavior for scenario evaluations. + */ + scenarioHallucinationMetricBehavior?: string | null; + } + /** + * Settings for golden evaluations. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds { + /** + * Optional. The expectation level metrics thresholds. + */ + expectationLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds; + /** + * Optional. The turn level metrics thresholds. + */ + turnLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds; + } + /** + * Expectation level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds { + /** + * Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0. + */ + toolInvocationParameterCorrectnessThreshold?: number | null; + } + /** + * Turn level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds { + /** + * Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0. + */ + overallToolInvocationCorrectnessThreshold?: number | null; + /** + * Optional. The semantic similarity channel to use for evaluation. + */ + semanticSimilarityChannel?: string | null; + /** + * Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is \>= 3. + */ + semanticSimilaritySuccessThreshold?: number | null; + } + /** + * Event input. + */ + export interface Schema$Event { + /** + * Required. The name of the event. + */ + event?: string | null; + } + /** + * An example represents a sample conversation between the user and the agent(s). + */ + export interface Schema$Example { + /** + * Output only. Timestamp when the example was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the example. + */ + description?: string | null; + /** + * Required. Display name of the example. + */ + displayName?: string | null; + /** + * Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples. + */ + invalid?: boolean | null; + /** + * Optional. The collection of messages that make up the conversation. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the example was last updated. + */ + updateTime?: string | null; + } + /** + * Request message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolRequest { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolResponse { + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for AgentService.ExportApp. + */ + export interface Schema$ExportAppRequest { + /** + * Required. The format to export the app in. + */ + exportFormat?: string | null; + /** + * Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object. + */ + gcsUri?: string | null; + } + /** + * Response message for AgentService.ExportApp. + */ + export interface Schema$ExportAppResponse { + /** + * App folder compressed as a zip file. + */ + appContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported. + */ + appUri?: string | null; + } + /** + * Expression condition based on session state. + */ + export interface Schema$ExpressionCondition { + /** + * Required. The string representation of cloud.api.Expression condition. + */ + expression?: string | null; + } + /** + * The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results. + */ + export interface Schema$FileSearchTool { + /** + * Optional. The type of the corpus. Default is FULLY_MANAGED. + */ + corpusType?: string | null; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. The corpus where files are stored. Format: projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\} + */ + fileCorpus?: string | null; + /** + * Required. The tool name. + */ + name?: string | null; + } + /** + * Request message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenRequest { + /** + * Required. The deployment of the app to use for the session. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + deployment?: string | null; + /** + * Optional. The reCAPTCHA token generated by the client-side chat widget. + */ + recaptchaToken?: string | null; + } + /** + * Response message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenResponse { + /** + * The session scoped token for chat widget to authenticate with Session APIs. + */ + chatToken?: string | null; + /** + * The time at which the chat token expires. + */ + expireTime?: string | null; + } + /** + * Search suggestions from Google Search Tool. + */ + export interface Schema$GoogleSearchSuggestions { + /** + * Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`. + */ + htmls?: string[] | null; + /** + * List of queries used to perform the google search along with the search result URIs forming the search suggestions. + */ + webSearchQueries?: Schema$WebSearchQuery[]; + } + /** + * Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search. + */ + export interface Schema$GoogleSearchTool { + /** + * Optional. Content will be fetched directly from these URLs for context and grounding. Example: "https://example.com/path.html". A maximum of 20 URLs are allowed. + */ + contextUrls?: string[] | null; + /** + * Optional. Description of the tool's purpose. + */ + description?: string | null; + /** + * Optional. List of domains to be excluded from the search results. Example: "example.com". A maximum of 2000 domains can be excluded. + */ + excludeDomains?: string[] | null; + /** + * Required. The name of the tool. + */ + name?: string | null; + /** + * Optional. Specifies domains to restrict search results to. Example: "example.com", "another.site". A maximum of 20 domains can be specified. + */ + preferredDomains?: string[] | null; + /** + * Optional. Prompt instructions passed to planner on how the search results should be processed for text and voice. + */ + promptConfig?: Schema$GoogleSearchToolPromptConfig; + } + /** + * Prompt settings used by the model when processing or summarizing the google search results. + */ + export interface Schema$GoogleSearchToolPromptConfig { + /** + * Optional. Defines the prompt used for the system instructions when interacting with the agent in chat conversations. If not set, default prompt will be used. + */ + textPrompt?: string | null; + /** + * Optional. Defines the prompt used for the system instructions when interacting with the agent in voice conversations. If not set, default prompt will be used. + */ + voicePrompt?: string | null; + } + /** + * Guardrail contains a list of checks and balances to keep the agents safe and secure. + */ + export interface Schema$Guardrail { + /** + * Optional. Action to take when the guardrail is triggered. + */ + action?: Schema$TriggerAction; + /** + * Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution. + */ + codeCallback?: Schema$GuardrailCodeCallback; + /** + * Optional. Guardrail that bans certain content from being used in the conversation. + */ + contentFilter?: Schema$GuardrailContentFilter; + /** + * Output only. Timestamp when the guardrail was created. + */ + createTime?: string | null; + /** + * Optional. Description of the guardrail. + */ + description?: string | null; + /** + * Required. Display name of the guardrail. + */ + displayName?: string | null; + /** + * Optional. Whether the guardrail is enabled. + */ + enabled?: boolean | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + llmPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification. + */ + llmPromptSecurity?: Schema$GuardrailLlmPromptSecurity; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings. + */ + modelSafety?: Schema$GuardrailModelSafety; + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the guardrail was last updated. + */ + updateTime?: string | null; + } + /** + * Guardrail that blocks the conversation based on the code callbacks provided. + */ + export interface Schema$GuardrailCodeCallback { + /** + * Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterModelCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeModelCallback?: Schema$Callback; + } + /** + * Guardrail that bans certain content from being used in the conversation. + */ + export interface Schema$GuardrailContentFilter { + /** + * Optional. List of banned phrases. Applies to both user inputs and agent responses. + */ + bannedContents?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to agent responses. + */ + bannedContentsInAgentResponse?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to user inputs. + */ + bannedContentsInUserInput?: string[] | null; + /** + * Optional. If true, diacritics are ignored during matching. + */ + disregardDiacritics?: boolean | null; + /** + * Required. Match type for the content filter. + */ + matchType?: string | null; + } + /** + * Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + export interface Schema$GuardrailLlmPolicy { + /** + * Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped. + */ + allowShortUtterance?: boolean | null; + /** + * Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail. + */ + failOpen?: boolean | null; + /** + * Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used. + */ + maxConversationMessages?: number | null; + /** + * Optional. Model settings. + */ + modelSettings?: Schema$ModelSettings; + /** + * Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond. + */ + policyScope?: string | null; + /** + * Required. Policy prompt. + */ + prompt?: string | null; + } + /** + * Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification. + */ + export interface Schema$GuardrailLlmPromptSecurity { + /** + * Optional. Use a user-defined LlmPolicy to configure the security guardrail. + */ + customPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response. + */ + defaultSettings?: Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings; + /** + * Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration. + */ + failOpen?: boolean | null; + } + /** + * Configuration for default system security settings. + */ + export interface Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings { + /** + * Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY. + */ + defaultPromptTemplate?: string | null; + } + /** + * Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe. + */ + export interface Schema$GuardrailModelSafety { + /** + * Required. List of safety settings. + */ + safetySettings?: Schema$GuardrailModelSafetySafetySetting[]; + } + /** + * Safety setting. + */ + export interface Schema$GuardrailModelSafetySafetySetting { + /** + * Required. The harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; + } + /** + * Represents an image input or output in the conversation. + */ + export interface Schema$Image { + /** + * Required. Raw bytes of the image. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp + */ + mimeType?: string | null; + } + /** + * Request message for AgentService.ImportApp. + */ + export interface Schema$ImportAppRequest { + /** + * Raw bytes representing the compressed zip file with the app folder structure. + */ + appContent?: string | null; + /** + * Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced. + */ + appId?: string | null; + /** + * Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error. + */ + displayName?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Flag for overriding the app lock during import. If set to true, the import process will ignore the app lock. + */ + ignoreAppLock?: boolean | null; + /** + * Optional. Options governing the import process for the app. + */ + importOptions?: Schema$ImportAppRequestImportOptions; + } + /** + * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. + */ + export interface Schema$ImportAppRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for AgentService.ImportApp. + */ + export interface Schema$ImportAppResponse { + /** + * The resource name of the app that was imported. + */ + name?: string | null; + /** + * Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here. + */ + warnings?: string[] | null; + } + /** + * InputAudioConfig configures how the CES agent should interpret the incoming audio data. + */ + export interface Schema$InputAudioConfig { + /** + * Required. The encoding of the input audio data. + */ + audioEncoding?: string | null; + /** + * Optional. Whether to enable noise suppression on the input audio. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Required. The sample rate (in Hertz) of the input audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Language settings of the app. + */ + export interface Schema$LanguageSettings { + /** + * Optional. The default language code of the app. + */ + defaultLanguageCode?: string | null; + /** + * Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input. + */ + enableMultilingualSupport?: boolean | null; + /** + * Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation. + */ + fallbackAction?: string | null; + /** + * Optional. List of languages codes supported by the app, in addition to the `default_language_code`. + */ + supportedLanguageCodes?: string[] | null; + } + /** + * Response message for AgentService.ListAgents. + */ + export interface Schema$ListAgentsResponse { + /** + * The list of agents. + */ + agents?: Schema$Agent[]; + /** + * A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListApps. + */ + export interface Schema$ListAppsResponse { + /** + * The list of apps. + */ + apps?: Schema$App[]; + /** + * A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for AgentService.ListAppVersions. + */ + export interface Schema$ListAppVersionsResponse { + /** + * The list of app versions. + */ + appVersions?: Schema$AppVersion[]; + /** + * A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListChangelogs. + */ + export interface Schema$ListChangelogsResponse { + /** + * The list of changelogs. + */ + changelogs?: Schema$Changelog[]; + /** + * A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListConversations. + */ + export interface Schema$ListConversationsResponse { + /** + * The list of conversations. + */ + conversations?: Schema$Conversation[]; + /** + * A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListDeployments. + */ + export interface Schema$ListDeploymentsResponse { + /** + * The list of deployments. + */ + deployments?: Schema$Deployment[]; + /** + * 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 AgentService.ListExamples. + */ + export interface Schema$ListExamplesResponse { + /** + * The list of examples. + */ + examples?: Schema$Example[]; + /** + * A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListGuardrails. + */ + export interface Schema$ListGuardrailsResponse { + /** + * The list of guardrails. + */ + guardrails?: Schema$Guardrail[]; + /** + * A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | 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 AgentService.ListToolsets. + */ + export interface Schema$ListToolsetsResponse { + /** + * A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of toolsets. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Response message for AgentService.ListTools. + */ + export interface Schema$ListToolsResponse { + /** + * A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of tools. + */ + tools?: Schema$Tool[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Settings to describe the logging behaviors for the app. + */ + export interface Schema$LoggingSettings { + /** + * Optional. Configuration for how audio interactions should be recorded. + */ + audioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + */ + bigqueryExportSettings?: Schema$BigQueryExportSettings; + /** + * Optional. Settings to describe the Cloud Logging behaviors for the app. + */ + cloudLoggingSettings?: Schema$CloudLoggingSettings; + /** + * Optional. Settings to describe the conversation logging behaviors for the app. + */ + conversationLoggingSettings?: Schema$ConversationLoggingSettings; + /** + * Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions. + */ + evaluationAudioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app. + */ + metricAnalysisSettings?: Schema$MetricAnalysisSettings; + /** + * Optional. Configuration for how sensitive data should be redacted. + */ + redactionConfig?: Schema$RedactionConfig; + } + /** + * An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details. + */ + export interface Schema$McpTool { + /** + * Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the MCP tool. + */ + description?: string | null; + /** + * Optional. The schema of the input arguments of the MCP tool. + */ + inputSchema?: Schema$Schema; + /** + * Required. The name of the MCP tool. + */ + name?: string | null; + /** + * Optional. The schema of the output arguments of the MCP tool. + */ + outputSchema?: Schema$Schema; + /** + * Required. The server address of the MCP server, e.g., "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A toolset that contains a list of tools that are offered by the MCP server. + */ + export interface Schema$McpToolset { + /** + * Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Required. The address of the MCP server, for example, "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A message within a conversation. + */ + export interface Schema$Message { + /** + * Optional. Content of the message as a series of chunks. + */ + chunks?: Schema$Chunk[]; + /** + * Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example. + */ + eventTime?: string | null; + /** + * Optional. The role within the conversation, e.g., user, agent. + */ + role?: string | null; + } + /** + * Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline. + */ + export interface Schema$MetricAnalysisSettings { + /** + * Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected. + */ + llmMetricsOptedOut?: boolean | null; + } + /** + * Model settings contains various configurations for the LLM model. + */ + export interface Schema$ModelSettings { + /** + * Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent. + */ + model?: string | null; + /** + * Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative. + */ + temperature?: number | null; + } + /** + * Configurations for authentication with OAuth. + */ + export interface Schema$OAuthConfig { + /** + * Required. The client ID from the OAuth provider. + */ + clientId?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + clientSecretVersion?: string | null; + /** + * Required. OAuth grant types. + */ + oauthGrantType?: string | null; + /** + * Optional. The OAuth scopes to grant. + */ + scopes?: string[] | null; + /** + * Required. The token endpoint in the OAuth provider to exchange for an access token. + */ + tokenEndpoint?: string | null; + } + /** + * Represents an Omnichannel resource. + */ + export interface Schema$Omnichannel { + /** + * Output only. Timestamp when the omnichannel resource was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the omnichannel resource. + */ + description?: string | null; + /** + * Required. Display name of the omnichannel resource. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. + */ + etag?: string | null; + /** + * Optional. The integration config for the omnichannel resource. + */ + integrationConfig?: Schema$OmnichannelIntegrationConfig; + /** + * Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project\}/locations/{location\}/omnichannels/{omnichannel\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the omnichannel resource was last updated. + */ + updateTime?: string | null; + } + /** + * OmnichannelIntegrationConfig contains all App integration configs. + */ + export interface Schema$OmnichannelIntegrationConfig { + /** + * Optional. Various of configuration for handling App events. + */ + channelConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigChannelConfig; + } | null; + /** + * Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key. + */ + routingConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigRoutingConfig; + } | null; + /** + * Optional. Various of subscribers configs. + */ + subscriberConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigSubscriberConfig; + } | null; + } + /** + * Configs for CES app. + */ + export interface Schema$OmnichannelIntegrationConfigCesAppConfig { + /** + * The unique identifier of the CES app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + } + /** + * ChannelConfig contains config for various of app integration. + */ + export interface Schema$OmnichannelIntegrationConfigChannelConfig { + /** + * WhatsApp config. + */ + whatsappConfig?: Schema$OmnichannelIntegrationConfigWhatsappConfig; + } + /** + * Routing config specify how/who to route app events to a subscriber. + */ + export interface Schema$OmnichannelIntegrationConfigRoutingConfig { + /** + * The key of the subscriber. + */ + subscriberKey?: string | null; + } + /** + * Configs of subscribers. + */ + export interface Schema$OmnichannelIntegrationConfigSubscriberConfig { + /** + * Ces app config. + */ + cesAppConfig?: Schema$OmnichannelIntegrationConfigCesAppConfig; + } + /** + * How Omnichannel should receive/reply events from WhatsApp. + */ + export interface Schema$OmnichannelIntegrationConfigWhatsappConfig { + /** + * The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657 + */ + metaBusinessPortfolioId?: string | null; + /** + * The phone number used for sending/receiving messages. + */ + phoneNumber?: string | null; + /** + * The Phone Number ID associated with the WhatsApp Business Account. + */ + phoneNumberId?: string | null; + /** + * The verify token configured in the Meta App Dashboard for webhook verification. + */ + webhookVerifyToken?: string | null; + /** + * The customer's WhatsApp Business Account (WABA) ID. + */ + whatsappBusinessAccountId?: string | null; + /** + * The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens + */ + whatsappBusinessToken?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OmnichannelOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * A remote API tool defined by an OpenAPI schema. + */ + export interface Schema$OpenApiTool { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`. + */ + description?: string | null; + /** + * Optional. If true, the agent will ignore unknown fields in the API response. + */ + ignoreUnknownFields?: boolean | null; + /** + * Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`. + */ + name?: string | null; + /** + * Required. The OpenAPI schema in JSON or YAML format. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client will trust. + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + export interface Schema$OpenApiToolset { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema. + */ + ignoreUnknownFields?: boolean | null; + /** + * Required. The OpenAPI schema of the toolset. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: 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; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses. + */ + export interface Schema$OutputAudioConfig { + /** + * Required. The encoding of the output audio data. + */ + audioEncoding?: string | null; + /** + * Required. The sample rate (in Hertz) of the output audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Python code block to evaluate the condition. + */ + export interface Schema$PythonCodeCondition { + /** + * Required. The python code to execute. + */ + pythonCode?: string | null; + } + /** + * A Python function tool. + */ + export interface Schema$PythonFunction { + /** + * Output only. The description of the Python function, parsed from the python code's docstring. + */ + description?: string | null; + /** + * Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. + */ + name?: string | null; + /** + * Optional. The Python code to execute for the tool. + */ + pythonCode?: string | null; + } + /** + * Configuration to instruct how sensitive data should be handled. + */ + export interface Schema$RedactionConfig { + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project\}/locations/{location\}/deidentifyTemplates/{deidentify_template\}` + */ + deidentifyTemplate?: string | null; + /** + * Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. + */ + enableRedaction?: boolean | null; + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{inspect_template\}` + */ + inspectTemplate?: string | null; + } + /** + * Request message for AgentService.RestoreAppVersion + */ + export interface Schema$RestoreAppVersionRequest {} + /** + * Request message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaRequest { + /** + * Optional. The name of the tool to retrieve the schema for. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaResponse { + /** + * Required. The schema of the tool input parameters. + */ + inputSchema?: Schema$Schema; + /** + * Required. The schema of the tool output parameters. + */ + outputSchema?: Schema$Schema; + /** + * The name of the tool that the schema is for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that the schema is for. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsRequest { + /** + * Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. + */ + toolIds?: string[] | null; + } + /** + * Response message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsResponse { + /** + * Required. The list of tools that are included in the specified toolset. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for SessionService.RunSession. + */ + export interface Schema$RunSessionRequest { + /** + * Required. The configuration for the session. + */ + config?: Schema$SessionConfig; + /** + * Required. Inputs for the session. + */ + inputs?: Schema$SessionInput[]; + } + /** + * Response message for SessionService.RunSession. + */ + export interface Schema$RunSessionResponse { + /** + * Outputs for the session. + */ + outputs?: Schema$SessionOutput[]; + } + /** + * Represents a select subset of an OpenAPI 3.0 schema object. + */ + export interface Schema$Schema { + /** + * Optional. Can either be a boolean or an object, controls the presence of additional properties. + */ + additionalProperties?: Schema$Schema; + /** + * Optional. The value should be validated against any (one or more) of the subschemas in the list. + */ + anyOf?: Schema$Schema[]; + /** + * Optional. Default value of the data. + */ + default?: any | null; + /** + * Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + */ + defs?: {[key: string]: Schema$Schema} | null; + /** + * Optional. The description of the data. + */ + description?: string | null; + /** + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} + */ + enum?: string[] | null; + /** + * Optional. Schema of the elements of Type.ARRAY. + */ + items?: Schema$Schema; + /** + * Optional. Maximum value for Type.INTEGER and Type.NUMBER. + */ + maximum?: number | null; + /** + * Optional. Maximum number of the elements for Type.ARRAY. + */ + maxItems?: string | null; + /** + * Optional. Minimum value for Type.INTEGER and Type.NUMBER. + */ + minimum?: number | null; + /** + * Optional. Minimum number of the elements for Type.ARRAY. + */ + minItems?: string | null; + /** + * Optional. Indicates if the value may be null. + */ + nullable?: boolean | null; + /** + * Optional. Schemas of initial elements of Type.ARRAY. + */ + prefixItems?: Schema$Schema[]; + /** + * Optional. Properties of Type.OBJECT. + */ + properties?: {[key: string]: Schema$Schema} | null; + /** + * Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + */ + ref?: string | null; + /** + * Optional. Required properties of Type.OBJECT. + */ + required?: string[] | null; + /** + * Optional. The title of the schema. + */ + title?: string | null; + /** + * Required. The type of the data. + */ + type?: string | null; + /** + * Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + */ + uniqueItems?: boolean | null; + } + /** + * Configurations for authentication using a custom service account. + */ + export interface Schema$ServiceAccountAuthConfig { + /** + * Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used. + */ + scopes?: string[] | null; + /** + * Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + serviceAccount?: string | null; + } + /** + * Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. + */ + export interface Schema$ServiceAgentIdTokenAuthConfig {} + /** + * Configuration for tools using Service Directory. + */ + export interface Schema$ServiceDirectoryConfig { + /** + * Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project\}/locations/{location\}/namespaces/{namespace\}/services/{service\}`. Location of the service directory must be the same as the location of the app. + */ + service?: string | null; + } + /** + * The configuration for the session. + */ + export interface Schema$SessionConfig { + /** + * Optional. The deployment of the app to use for the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state. + */ + historicalContexts?: Schema$Message[]; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + remoteDialogflowQueryParameters?: Schema$SessionConfigRemoteDialogflowQueryParameters; + /** + * Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. "America/Los_Angeles". + */ + timeZone?: string | null; + } + /** + * [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + export interface Schema$SessionConfigRemoteDialogflowQueryParameters { + /** + * Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + payload?: {[key: string]: any} | null; + /** + * Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + webhookHeaders?: {[key: string]: string} | null; + } + /** + * Input for the session. + */ + export interface Schema$SessionInput { + /** + * Optional. Audio data from the end user. + */ + audio?: string | null; + /** + * Optional. Blob data from the end user. + */ + blob?: Schema$Blob; + /** + * Optional. DTMF digits from the end user. + */ + dtmf?: string | null; + /** + * Optional. Event input. + */ + event?: Schema$Event; + /** + * Optional. Image data from the end user. + */ + image?: Schema$Image; + /** + * Optional. Text data from the end user. + */ + text?: string | null; + /** + * Optional. Execution results for the tool calls from the client. + */ + toolResponses?: Schema$ToolResponses; + /** + * Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters. + */ + variables?: {[key: string]: any} | null; + /** + * Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time. + */ + willContinue?: boolean | null; + } + /** + * Output for the session. + */ + export interface Schema$SessionOutput { + /** + * Output audio from the CES agent. + */ + audio?: string | null; + /** + * Citations that provide the source information for the agent's generated text. + */ + citations?: Schema$Citations; + /** + * Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn. + */ + diagnosticInfo?: Schema$SessionOutputDiagnosticInfo; + /** + * Indicates the session has ended. + */ + endSession?: Schema$EndSession; + /** + * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. + */ + googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Custom payload with structured output from the CES agent. + */ + payload?: {[key: string]: any} | null; + /** + * Output text from the CES agent. + */ + text?: string | null; + /** + * Request for the client to execute the tools. + */ + toolCalls?: Schema$ToolCalls; + /** + * If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn. + */ + turnCompleted?: boolean | null; + /** + * Indicates the sequential order of conversation turn to which this output belongs to, starting from 1. + */ + turnIndex?: number | null; + } + /** + * Contains execution details during the processing. + */ + export interface Schema$SessionOutputDiagnosticInfo { + /** + * List of the messages that happened during the processing. + */ + messages?: Schema$Message[]; + /** + * A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations. + */ + rootSpan?: Schema$Span; + } + /** + * A span is a unit of work or a single operation during the request processing. + */ + export interface Schema$Span { + /** + * Output only. Key-value attributes associated with the span. + */ + attributes?: {[key: string]: any} | null; + /** + * Output only. The child spans that are nested under this span. + */ + childSpans?: Schema$Span[]; + /** + * Output only. The duration of the span. + */ + duration?: string | null; + /** + * Output only. The end time of the span. + */ + endTime?: string | null; + /** + * Output only. The name of the span. + */ + name?: string | null; + /** + * Output only. The start time of the span. + */ + startTime?: 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; + } + /** + * Configuration for how the agent response should be synthesized. + */ + export interface Schema$SynthesizeSpeechConfig { + /** + * Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. + */ + speakingRate?: number | null; + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech. + */ + voice?: string | null; + } + /** + * Pre-defined system tool. + */ + export interface Schema$SystemTool { + /** + * Output only. The description of the system tool. + */ + description?: string | null; + /** + * Required. The name of the system tool. + */ + name?: string | null; + } + /** + * TimeZone settings of the app. + */ + export interface Schema$TimeZoneSettings { + /** + * Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris. + */ + timeZone?: string | null; + } + /** + * The TLS configuration. + */ + export interface Schema$TlsConfig { + /** + * Required. Specifies a list of allowed custom CA certificates for HTTPS verification. + */ + caCerts?: Schema$TlsConfigCaCert[]; + } + /** + * The CA certificate. + */ + export interface Schema$TlsConfigCaCert { + /** + * Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + */ + cert?: string | null; + /** + * Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates. + */ + displayName?: string | null; + } + /** + * A tool represents an action that the CES agent can take to achieve certain goals. + */ + export interface Schema$Tool { + /** + * Optional. The client function. + */ + clientFunction?: Schema$ClientFunction; + /** + * Optional. The Integration Connector tool. + */ + connectorTool?: Schema$ConnectorTool; + /** + * Output only. Timestamp when the tool was created. + */ + createTime?: string | null; + /** + * Optional. The data store tool. + */ + dataStoreTool?: Schema$DataStoreTool; + /** + * Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tool. + */ + executionType?: string | null; + /** + * Optional. The file search tool. + */ + fileSearchTool?: Schema$FileSearchTool; + /** + * Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. The google search tool. + */ + googleSearchTool?: Schema$GoogleSearchTool; + /** + * Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset. + */ + mcpTool?: Schema$McpTool; + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string | null; + /** + * Optional. The open API tool. + */ + openApiTool?: Schema$OpenApiTool; + /** + * Optional. The python function tool. + */ + pythonFunction?: Schema$PythonFunction; + /** + * Optional. The system tool. + */ + systemTool?: Schema$SystemTool; + /** + * Optional. Configuration for tool behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the tool was last updated. + */ + updateTime?: string | null; + /** + * Optional. The widget tool. + */ + widgetTool?: Schema$WidgetTool; + } + /** + * Request for the client or the agent to execute the specified tool. + */ + export interface Schema$ToolCall { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. + */ + id?: string | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request for the client to execute the tools and return the execution results before continuing the session. + */ + export interface Schema$ToolCalls { + /** + * Optional. The list of tool calls to execute. + */ + toolCalls?: Schema$ToolCall[]; + } + /** + * Configuration for tool behavior in fake mode. + */ + export interface Schema$ToolFakeConfig { + /** + * Optional. Code block which will be executed instead of a real tool call. + */ + codeBlock?: Schema$CodeBlock; + /** + * Optional. Whether the tool is using fake mode. + */ + enableFakeMode?: boolean | null; + } + /** + * The execution result of a specific tool from the client or the agent. + */ + export interface Schema$ToolResponse { + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The matching ID of the tool call the response is for. + */ + id?: string | null; + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Execution results for the requested tool calls from the client. + */ + export interface Schema$ToolResponses { + /** + * Optional. The list of tool execution results. + */ + toolResponses?: Schema$ToolResponse[]; + } + /** + * A toolset represents a group of dynamically managed tools that can be used by the agent. + */ + export interface Schema$Toolset { + /** + * Optional. A toolset that generates tools from an Integration Connectors Connection. + */ + connectorToolset?: Schema$ConnectorToolset; + /** + * Output only. Timestamp when the toolset was created. + */ + createTime?: string | null; + /** + * Optional. The description of the toolset. + */ + description?: string | null; + /** + * Optional. The display name of the toolset. Must be unique within the same app. + */ + displayName?: string | null; + /** + * ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tools in the toolset. + */ + executionType?: string | null; + /** + * Optional. A toolset that contains a list of tools that are offered by the MCP server. + */ + mcpToolset?: Schema$McpToolset; + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string | null; + /** + * Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + openApiToolset?: Schema$OpenApiToolset; + /** + * Optional. Configuration for tools behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the toolset was last updated. + */ + updateTime?: string | null; + } + /** + * A tool that is created from a toolset. + */ + export interface Schema$ToolsetTool { + /** + * Optional. The tool ID to filter the tools to retrieve the schema for. + */ + toolId?: string | null; + /** + * Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Rule for transferring to a specific agent. + */ + export interface Schema$TransferRule { + /** + * Required. The resource name of the child agent the rule applies to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgent?: string | null; + /** + * Optional. A rule that immediately transfers to the target agent when the condition is met. + */ + deterministicTransfer?: Schema$TransferRuleDeterministicTransfer; + /** + * Required. The direction of the transfer. + */ + direction?: string | null; + /** + * Optional. Rule that prevents the planner from transferring to the target agent. + */ + disablePlannerTransfer?: Schema$TransferRuleDisablePlannerTransfer; + } + /** + * Deterministic transfer rule. When the condition evaluates to true, the transfer occurs. + */ + export interface Schema$TransferRuleDeterministicTransfer { + /** + * Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs. + */ + expressionCondition?: Schema$ExpressionCondition; + /** + * Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs. + */ + pythonCodeCondition?: Schema$PythonCodeCondition; + } + /** + * A rule that prevents the planner from transferring to the target agent. + */ + export interface Schema$TransferRuleDisablePlannerTransfer { + /** + * Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent. + */ + expressionCondition?: Schema$ExpressionCondition; + } + /** + * Action that is taken when a certain precondition is met. + */ + export interface Schema$TriggerAction { + /** + * Optional. Respond with a generative answer. + */ + generativeAnswer?: Schema$TriggerActionGenerativeAnswer; + /** + * Optional. Immediately respond with a preconfigured response. + */ + respondImmediately?: Schema$TriggerActionRespondImmediately; + /** + * Optional. Transfer the conversation to a different agent. + */ + transferAgent?: Schema$TriggerActionTransferAgent; + } + /** + * The agent will immediately respond with a generative answer. + */ + export interface Schema$TriggerActionGenerativeAnswer { + /** + * Required. The prompt to use for the generative answer. + */ + prompt?: string | null; + } + /** + * The agent will immediately respond with a preconfigured response. + */ + export interface Schema$TriggerActionRespondImmediately { + /** + * Required. The canned responses for the agent to choose from. The response is chosen randomly. + */ + responses?: Schema$TriggerActionResponse[]; + } + /** + * Represents a response from the agent. + */ + export interface Schema$TriggerActionResponse { + /** + * Optional. Whether the response is disabled. Disabled responses are not used by the agent. + */ + disabled?: boolean | null; + /** + * Required. Text for the agent to respond with. + */ + text?: string | null; + } + /** + * The agent will transfer the conversation to a different agent. + */ + export interface Schema$TriggerActionTransferAgent { + /** + * Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + agent?: string | null; + } + /** + * Represents a single web search query and its associated search uri. + */ + export interface Schema$WebSearchQuery { + /** + * The search query text. + */ + query?: string | null; + /** + * The URI to the Google Search results page for the query. + */ + uri?: string | null; + } + /** + * Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent. + */ + export interface Schema$WidgetTool { + /** + * Optional. The description of the widget tool. + */ + description?: string | null; + /** + * Required. The display name of the widget tool. + */ + name?: string | null; + /** + * Optional. The input parameters of the widget tool. + */ + parameters?: Schema$Schema; + /** + * Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED. + */ + widgetType?: string | null; + } + + 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; + apps: Resource$Projects$Locations$Apps; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.apps = new Resource$Projects$Locations$Apps(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.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. + * 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 + * // { + * // "locations": [], + * // "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$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').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); + } + } + } + + 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. It is unsupported and is ignored 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$Apps { + context: APIRequestContext; + agents: Resource$Projects$Locations$Apps$Agents; + changelogs: Resource$Projects$Locations$Apps$Changelogs; + conversations: Resource$Projects$Locations$Apps$Conversations; + deployments: Resource$Projects$Locations$Apps$Deployments; + examples: Resource$Projects$Locations$Apps$Examples; + guardrails: Resource$Projects$Locations$Apps$Guardrails; + sessions: Resource$Projects$Locations$Apps$Sessions; + tools: Resource$Projects$Locations$Apps$Tools; + toolsets: Resource$Projects$Locations$Apps$Toolsets; + versions: Resource$Projects$Locations$Apps$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.agents = new Resource$Projects$Locations$Apps$Agents(this.context); + this.changelogs = new Resource$Projects$Locations$Apps$Changelogs( + this.context + ); + this.conversations = new Resource$Projects$Locations$Apps$Conversations( + this.context + ); + this.deployments = new Resource$Projects$Locations$Apps$Deployments( + this.context + ); + this.examples = new Resource$Projects$Locations$Apps$Examples( + this.context + ); + this.guardrails = new Resource$Projects$Locations$Apps$Guardrails( + this.context + ); + this.sessions = new Resource$Projects$Locations$Apps$Sessions( + this.context + ); + this.tools = new Resource$Projects$Locations$Apps$Tools(this.context); + this.toolsets = new Resource$Projects$Locations$Apps$Toolsets( + this.context + ); + this.versions = new Resource$Projects$Locations$Apps$Versions( + this.context + ); + } + + /** + * Creates a new app in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.create({ + * // Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + * appId: 'placeholder-value', + * // Required. The resource name of the location to create an app in. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * 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$Apps$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps').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 the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.delete({ + * // Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * 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$Apps$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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); + } + } + + /** + * Executes the given tool with the given arguments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.executeTool({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "args": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "response": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions + ): Promise>; + executeTool( + params?: Params$Resource$Projects$Locations$Apps$Executetool, + options?: MethodOptions + ): Promise>; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + callback: BodyResponseCallback + ): void; + executeTool( + callback: BodyResponseCallback + ): void; + executeTool( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Executetool + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Executetool; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Executetool; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:executeTool').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); + } + } + + /** + * Exports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.exportApp({ + * // Required. The resource name of the app to export. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "exportFormat": "my_exportFormat", + * // "gcsUri": "my_gcsUri" + * // } + * }, + * }); + * 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. + */ + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions + ): Promise>; + exportApp( + params?: Params$Resource$Projects$Locations$Apps$Exportapp, + options?: MethodOptions + ): Promise>; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + callback: BodyResponseCallback + ): void; + exportApp(callback: BodyResponseCallback): void; + exportApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Exportapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Exportapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Exportapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:exportApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.get({ + * // Required. The resource name of the app to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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); + } + } + + /** + * Imports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.importApp({ + * // Required. The parent resource name with the location of the app to import. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appContent": "my_appContent", + * // "appId": "my_appId", + * // "displayName": "my_displayName", + * // "gcsUri": "my_gcsUri", + * // "ignoreAppLock": false, + * // "importOptions": {} + * // } + * }, + * }); + * 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. + */ + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions + ): Promise>; + importApp( + params?: Params$Resource$Projects$Locations$Apps$Importapp, + options?: MethodOptions + ): Promise>; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + callback: BodyResponseCallback + ): void; + importApp(callback: BodyResponseCallback): void; + importApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Importapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps:importApp').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); + } + } + + /** + * Lists apps in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.list({ + * // Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListApps call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the location to list apps from. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apps": [], + * // "nextPageToken": "my_nextPageToken", + * // "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$Apps$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps').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); + } + } + + /** + * Updates the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.patch({ + * // Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * name: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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); + } + } + + /** + * Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.retrieveToolSchema({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inputSchema": {}, + * // "outputSchema": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions + ): Promise>; + retrieveToolSchema( + params?: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options?: MethodOptions + ): Promise>; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Retrievetoolschema + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:retrieveToolSchema').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); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Create extends StandardParameters { + /** + * Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + */ + appId?: string; + /** + * Required. The resource name of the location to create an app in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Delete extends StandardParameters { + /** + * Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Executetool extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteToolRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Exportapp extends StandardParameters { + /** + * Required. The resource name of the app to export. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Get extends StandardParameters { + /** + * Required. The resource name of the app to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Importapp extends StandardParameters { + /** + * Required. The parent resource name with the location of the app to import. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + */ + pageToken?: string; + /** + * Required. The resource name of the location to list apps from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Retrievetoolschema extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolSchemaRequest; + } + + export class Resource$Projects$Locations$Apps$Agents { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new agent in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.agents.create({ + * // Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + * agentId: 'placeholder-value', + * // Required. The resource name of the app to create an agent in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Agents$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/agents').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 the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.agents.delete({ + * // Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + * force: 'placeholder-value', + * // Required. The resource name of the agent to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * 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$Apps$Agents$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.agents.get({ + * // Required. The resource name of the agent to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Agents$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 agents in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.agents.list({ + * // Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListAgents call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list agents from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "agents": [], + * // "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$Apps$Agents$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Agents$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/agents').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); + } + } + + /** + * Updates the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.agents.patch({ + * // Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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$Apps$Agents$Create extends StandardParameters { + /** + * Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + */ + agentId?: string; + /** + * Required. The resource name of the app to create an agent in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Delete extends StandardParameters { + /** + * Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + */ + force?: boolean; + /** + * Required. The resource name of the agent to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Get extends StandardParameters { + /** + * Required. The resource name of the agent to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list agents from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + + export class Resource$Projects$Locations$Apps$Changelogs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the specified changelog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.changelogs.get({ + * // Required. The resource name of the changelog to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/changelogs/my-changelog', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "author": "my_author", + * // "createTime": "my_createTime", + * // "dependentResources": [], + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "newResource": {}, + * // "originalResource": {}, + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "sequenceNumber": "my_sequenceNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Changelogs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 the changelogs of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.changelogs.list({ + * // Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list changelogs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "changelogs": [], + * // "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$Apps$Changelogs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/changelogs').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$Apps$Changelogs$Get extends StandardParameters { + /** + * Required. The resource name of the changelog to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Changelogs$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list changelogs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Conversations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Batch deletes the specified conversations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.conversations.batchDelete({ + * // Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversations": [] + * // } + * }, + * }); + * 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. + */ + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions + ): Promise>; + batchDelete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options?: MethodOptions + ): Promise>; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + callback: BodyResponseCallback + ): void; + batchDelete(callback: BodyResponseCallback): void; + batchDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:batchDelete').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 the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.conversations.delete({ + * // Required. The resource name of the conversation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: '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$Apps$Conversations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.conversations.get({ + * // Required. The resource name of the conversation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, all source will be searched. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelType": "my_channelType", + * // "deployment": "my_deployment", + * // "endTime": "my_endTime", + * // "entryAgent": "my_entryAgent", + * // "inputTypes": [], + * // "languageCode": "my_languageCode", + * // "messages": [], + * // "name": "my_name", + * // "source": "my_source", + * // "startTime": "my_startTime", + * // "turnCount": 0, + * // "turns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Conversations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 conversations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.conversations.list({ + * // Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListConversations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list conversations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field. + * source: 'placeholder-value', + * // Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default. + * sources: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversations": [], + * // "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$Apps$Conversations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Conversations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations').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$Apps$Conversations$Batchdelete extends StandardParameters { + /** + * Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Delete extends StandardParameters { + /** + * Required. The resource name of the conversation to delete. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Get extends StandardParameters { + /** + * Required. The resource name of the conversation to retrieve. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, all source will be searched. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list conversations from. + */ + parent?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field. + */ + source?: string; + /** + * Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default. + */ + sources?: string[]; + } + + export class Resource$Projects$Locations$Apps$Deployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new deployment in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.deployments.create({ + * // Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + * deploymentId: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').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 the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.deployments.delete({ + * // Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * 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$Apps$Deployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.deployments.get({ + * // Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 deployments in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.deployments.list({ + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deployments": [], + * // "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$Apps$Deployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Deployments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').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); + } + } + + /** + * Updates the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.deployments.patch({ + * // Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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$Apps$Deployments$Create extends StandardParameters { + /** + * Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + */ + deploymentId?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Delete extends StandardParameters { + /** + * Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Get extends StandardParameters { + /** + * Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$List extends StandardParameters { + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Patch extends StandardParameters { + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + + export class Resource$Projects$Locations$Apps$Examples { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new example in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.examples.create({ + * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + * exampleId: 'placeholder-value', + * // Required. The resource name of the app to create an example in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/examples').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 the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.examples.delete({ + * // Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the example to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * 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$Apps$Examples$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.examples.get({ + * // Required. The resource name of the example to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Examples$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 examples in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.examples.list({ + * // Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListExamples call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list examples from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "examples": [], + * // "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$Apps$Examples$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Examples$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/examples').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); + } + } + + /** + * Updates the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.examples.patch({ + * // Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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$Apps$Examples$Create extends StandardParameters { + /** + * Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + */ + exampleId?: string; + /** + * Required. The resource name of the app to create an example in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Delete extends StandardParameters { + /** + * Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the example to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Get extends StandardParameters { + /** + * Required. The resource name of the example to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list examples from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + + export class Resource$Projects$Locations$Apps$Guardrails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new guardrail in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.guardrails.create({ + * // Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + * guardrailId: 'placeholder-value', + * // Required. The resource name of the app to create a guardrail in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/guardrails').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 the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.guardrails.delete({ + * // Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the guardrail to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * 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$Apps$Guardrails$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.guardrails.get({ + * // Required. The resource name of the guardrail to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 guardrails in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.guardrails.list({ + * // Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list guardrails from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "guardrails": [], + * // "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$Apps$Guardrails$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/guardrails').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); + } + } + + /** + * Updates the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.guardrails.patch({ + * // Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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$Apps$Guardrails$Create extends StandardParameters { + /** + * Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + */ + guardrailId?: string; + /** + * Required. The resource name of the app to create a guardrail in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Delete extends StandardParameters { + /** + * Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the guardrail to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Get extends StandardParameters { + /** + * Required. The resource name of the guardrail to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list guardrails from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + + export class Resource$Projects$Locations$Apps$Sessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates a session scoped token for chat widget to authenticate with Session APIs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.sessions.generateChatToken({ + * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deployment": "my_deployment", + * // "recaptchaToken": "my_recaptchaToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "chatToken": "my_chatToken", + * // "expireTime": "my_expireTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions + ): Promise>; + generateChatToken( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options?: MethodOptions + ): Promise>; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + callback: BodyResponseCallback + ): void; + generateChatToken( + callback: BodyResponseCallback + ): void; + generateChatToken( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:generateChatToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates a single turn interaction with the CES agent within a session. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.sessions.runSession({ + * // Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + * session: + * 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "config": {}, + * // "inputs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "outputs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions + ): Promise>; + runSession( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options?: MethodOptions + ): Promise>; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + callback: BodyResponseCallback + ): void; + runSession(callback: BodyResponseCallback): void; + runSession( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Runsession + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+session}:runSession').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken extends StandardParameters { + /** + * Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateChatTokenRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Sessions$Runsession extends StandardParameters { + /** + * Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + */ + session?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunSessionRequest; + } + + export class Resource$Projects$Locations$Apps$Tools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new tool in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.tools.create({ + * // Required. The resource name of the app to create a tool in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + * toolId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Tools$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tools').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 the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.tools.delete({ + * // Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the tool to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * 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$Apps$Tools$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.tools.get({ + * // Required. The resource name of the tool to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Tools$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 tools in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.tools.list({ + * // Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListTools call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list tools from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Tools$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tools').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); + } + } + + /** + * Updates the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.tools.patch({ + * // Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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$Apps$Tools$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a tool in. + */ + parent?: string; + /** + * Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + */ + toolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Delete extends StandardParameters { + /** + * Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the tool to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Get extends StandardParameters { + /** + * Required. The resource name of the tool to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list tools from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + + export class Resource$Projects$Locations$Apps$Toolsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new toolset in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.create({ + * // Required. The resource name of the app to create a toolset in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + * toolsetId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/toolsets').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 the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.delete({ + * // Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the toolset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * 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$Apps$Toolsets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.get({ + * // Required. The resource name of the toolset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 toolsets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.list({ + * // Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListToolsets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list toolsets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "toolsets": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Toolsets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/toolsets').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); + } + } + + /** + * Updates the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.patch({ + * // Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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); + } + } + + /** + * Retrieve the list of tools included in the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.toolsets.retrieveTools({ + * // Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * toolset: + * 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolIds": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions + ): Promise>; + retrieveTools( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options?: MethodOptions + ): Promise>; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + callback: BodyResponseCallback + ): void; + retrieveTools( + callback: BodyResponseCallback + ): void; + retrieveTools( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+toolset}:retrieveTools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['toolset'], + pathParams: ['toolset'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a toolset in. + */ + parent?: string; + /** + * Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + */ + toolsetId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Delete extends StandardParameters { + /** + * Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the toolset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Get extends StandardParameters { + /** + * Required. The resource name of the toolset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list toolsets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools extends StandardParameters { + /** + * Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolsRequest; + } + + export class Resource$Projects$Locations$Apps$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new app version in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.versions.create({ + * // Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + * appVersionId: 'placeholder-value', + * // Required. The resource name of the app to create an app version in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Versions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Versions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/versions').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 the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.versions.delete({ + * // Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app version to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * 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$Apps$Versions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 details of the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.versions.get({ + * // Required. The resource name of the app version to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Versions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Versions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 all app versions in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.versions.list({ + * // Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list app versions from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersions": [], + * // "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$Apps$Versions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Versions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/versions').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); + } + } + + /** + * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.apps.versions.restore({ + * // Required. The resource name of the app version to restore. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // 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. + */ + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions + ): Promise>; + restore( + params?: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options?: MethodOptions + ): Promise>; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + callback: BodyResponseCallback + ): void; + restore(callback: BodyResponseCallback): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + 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$Apps$Versions$Create extends StandardParameters { + /** + * Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + */ + appVersionId?: string; + /** + * Required. The resource name of the app to create an app version in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Delete extends StandardParameters { + /** + * Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app version to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Get extends StandardParameters { + /** + * Required. The resource name of the app version to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list app versions from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { + /** + * Required. The resource name of the app version to restore. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreAppVersionRequest; + } + + export class Resource$Projects$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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // 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. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * 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$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * 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. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.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 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('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/ces', + * '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 ces.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/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 + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "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$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').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); + } + } + } + + export interface Params$Resource$Projects$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$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$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; + } +} diff --git a/src/apis/ces/v1beta.ts b/src/apis/ces/v1beta.ts new file mode 100644 index 00000000000..23f40b8f614 --- /dev/null +++ b/src/apis/ces/v1beta.ts @@ -0,0 +1,20397 @@ +// 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 ces_v1beta { + export interface Options extends GlobalOptions { + version: 'v1beta'; + } + + 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; + } + + /** + * Gemini Enterprise for Customer Experience API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * ``` + */ + export class Ces { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details. + */ + export interface Schema$Action { + /** + * ID of a Connection action for the tool to use. + */ + connectionActionId?: string | null; + /** + * Entity operation configuration for the tool to use. + */ + entityOperation?: Schema$ActionEntityOperation; + /** + * Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used. + */ + inputFields?: string[] | null; + /** + * Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned. + */ + outputFields?: string[] | null; + } + /** + * Entity CRUD operation specification. + */ + export interface Schema$ActionEntityOperation { + /** + * Required. ID of the entity. + */ + entityId?: string | null; + /** + * Required. Operation to perform on the entity. + */ + operation?: string | null; + } + /** + * An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks. + */ + export interface Schema$Agent { + /** + * Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterToolCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeToolCallbacks?: Schema$Callback[]; + /** + * Optional. List of child agents in the agent tree. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgents?: string[] | null; + /** + * Output only. Timestamp when the agent was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the agent. + */ + description?: string | null; + /** + * Required. Display name of the agent. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. List of guardrails for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Instructions for the LLM model to guide the agent's behavior. + */ + instruction?: string | null; + /** + * Optional. The default agent type. + */ + llmAgent?: Schema$AgentLlmAgent; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string | null; + /** + * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + remoteDialogflowAgent?: Schema$AgentRemoteDialogflowAgent; + /** + * Optional. List of available tools for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tools?: string[] | null; + /** + * Optional. List of toolsets for the agent. + */ + toolsets?: Schema$AgentAgentToolset[]; + /** + * Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used. + */ + transferRules?: Schema$TransferRule[]; + /** + * Output only. Timestamp when the agent was last updated. + */ + updateTime?: string | null; + } + /** + * A toolset with a selection of its tools. + */ + export interface Schema$AgentAgentToolset { + /** + * Optional. The tools IDs to filter the toolset. + */ + toolIds?: string[] | null; + /** + * Required. The resource name of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. + */ + export interface Schema$AgentLlmAgent {} + /** + * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. + */ + export interface Schema$AgentRemoteDialogflowAgent { + /** + * Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agent?: string | null; + /** + * Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used. + */ + environmentId?: string | null; + /** + * Optional. The flow ID of the flow in the Dialogflow agent. + */ + flowId?: string | null; + /** + * Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings. + */ + respectResponseInterruptionSettings?: boolean | null; + } + /** + * Represents an event indicating the transfer of a conversation to a different agent. + */ + export interface Schema$AgentTransfer { + /** + * Output only. Display name of the agent. + */ + displayName?: string | null; + /** + * 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\}` + */ + targetAgent?: string | null; + } + /** + * Aggregated metrics for an evaluation or evaluation dataset. + */ + export interface Schema$AggregatedMetrics { + /** + * Output only. Aggregated metrics, grouped by app version ID. + */ + metricsByAppVersion?: Schema$AggregatedMetricsMetricsByAppVersion[]; + } + /** + * Metrics for hallucination results. + */ + export interface Schema$AggregatedMetricsHallucinationMetrics { + /** + * Output only. The average hallucination score (0 to 1). + */ + score?: number | null; + } + /** + * Metrics aggregated per app version. + */ + export interface Schema$AggregatedMetricsMetricsByAppVersion { + /** + * Output only. The app version ID. + */ + appVersionId?: string | null; + /** + * Output only. The number of times the evaluation failed. + */ + failCount?: number | null; + /** + * Output only. Metrics for hallucination within this app version. + */ + hallucinationMetrics?: Schema$AggregatedMetricsHallucinationMetrics[]; + /** + * Output only. Metrics aggregated per turn within this app version. + */ + metricsByTurn?: Schema$AggregatedMetricsMetricsByTurn[]; + /** + * Output only. The number of times the evaluation passed. + */ + passCount?: number | null; + /** + * Output only. Metrics for semantic similarity within this app version. + */ + semanticSimilarityMetrics?: Schema$AggregatedMetricsSemanticSimilarityMetrics[]; + /** + * Output only. Metrics for tool call latency within this app version. + */ + toolCallLatencyMetrics?: Schema$AggregatedMetricsToolCallLatencyMetrics[]; + /** + * Output only. Metrics for each tool within this app version. + */ + toolMetrics?: Schema$AggregatedMetricsToolMetrics[]; + /** + * Output only. Metrics for turn latency within this app version. + */ + turnLatencyMetrics?: Schema$AggregatedMetricsTurnLatencyMetrics[]; + } + /** + * Metrics aggregated per turn. + */ + export interface Schema$AggregatedMetricsMetricsByTurn { + /** + * Output only. Metrics for hallucination within this turn. + */ + hallucinationMetrics?: Schema$AggregatedMetricsHallucinationMetrics[]; + /** + * Output only. Metrics for semantic similarity within this turn. + */ + semanticSimilarityMetrics?: Schema$AggregatedMetricsSemanticSimilarityMetrics[]; + /** + * Output only. Metrics for tool call latency within this turn. + */ + toolCallLatencyMetrics?: Schema$AggregatedMetricsToolCallLatencyMetrics[]; + /** + * Output only. Metrics for each tool within this turn. + */ + toolMetrics?: Schema$AggregatedMetricsToolMetrics[]; + /** + * Output only. The turn index (0-based). + */ + turnIndex?: number | null; + /** + * Output only. Metrics for turn latency within this turn. + */ + turnLatencyMetrics?: Schema$AggregatedMetricsTurnLatencyMetrics[]; + } + /** + * Metrics for semantic similarity results. + */ + export interface Schema$AggregatedMetricsSemanticSimilarityMetrics { + /** + * Output only. The average semantic similarity score (0-4). + */ + score?: number | null; + } + /** + * Metrics for tool call latency. + */ + export interface Schema$AggregatedMetricsToolCallLatencyMetrics { + /** + * Output only. The average latency of the tool calls. + */ + averageLatency?: string | null; + /** + * Output only. The name of the tool. + */ + tool?: string | null; + } + /** + * Metrics for a single tool. + */ + export interface Schema$AggregatedMetricsToolMetrics { + /** + * Output only. The number of times the tool failed. + */ + failCount?: number | null; + /** + * Output only. The number of times the tool passed. + */ + passCount?: number | null; + /** + * Output only. The name of the tool. + */ + tool?: string | null; + } + /** + * Metrics for turn latency. + */ + export interface Schema$AggregatedMetricsTurnLatencyMetrics { + /** + * Output only. The average latency of the turns. + */ + averageLatency?: string | null; + } + /** + * Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + export interface Schema$AmbientSoundConfig { + /** + * Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object. + */ + gcsUri?: string | null; + /** + * Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`. + */ + prebuiltAmbientNoise?: string | null; + /** + * Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner" + */ + prebuiltAmbientSound?: string | null; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: number | null; + } + /** + * Authentication information required for API calls. + */ + export interface Schema$ApiAuthentication { + /** + * Optional. Config for API key auth. + */ + apiKeyConfig?: Schema$ApiKeyConfig; + /** + * Optional. Config for bearer token auth. + */ + bearerTokenConfig?: Schema$BearerTokenConfig; + /** + * Optional. Config for OAuth. + */ + oauthConfig?: Schema$OAuthConfig; + /** + * Optional. Config for service account authentication. + */ + serviceAccountAuthConfig?: Schema$ServiceAccountAuthConfig; + /** + * Optional. Config for ID token auth generated from CES service agent. + */ + serviceAgentIdTokenAuthConfig?: Schema$ServiceAgentIdTokenAuthConfig; + } + /** + * Configurations for authentication with API key. + */ + export interface Schema$ApiKeyConfig { + /** + * Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + apiKeySecretVersion?: string | null; + /** + * Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + */ + keyName?: string | null; + /** + * Required. Key location in the request. + */ + requestLocation?: string | null; + } + /** + * An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context. + */ + export interface Schema$App { + /** + * Optional. Audio processing configuration of the app. + */ + audioProcessingConfig?: Schema$AudioProcessingConfig; + /** + * Optional. The default client certificate settings for the app. + */ + clientCertificateSettings?: Schema$ClientCertificateSettings; + /** + * Output only. Timestamp when the app was created. + */ + createTime?: string | null; + /** + * Optional. The data store settings for the app. + */ + dataStoreSettings?: Schema$DataStoreSettings; + /** + * Optional. The default channel profile used by the app. + */ + defaultChannelProfile?: Schema$ChannelProfile; + /** + * Output only. Number of deployments in the app. + */ + deploymentCount?: number | null; + /** + * Optional. Human-readable description of the app. + */ + description?: string | null; + /** + * Required. Display name of the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The evaluation thresholds for the app. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Optional. The evaluation personas for the app. This field is used to define the personas that can be used for evaluation. Maximum of 30 personas can be defined. + */ + evaluationPersonas?: Schema$EvaluationPersona[]; + /** + * Optional. The evaluation settings for the app. + */ + evaluationSettings?: Schema$EvaluationSettings; + /** + * Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents. + */ + globalInstruction?: string | null; + /** + * Optional. List of guardrails for the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Language settings of the app. + */ + languageSettings?: Schema$LanguageSettings; + /** + * Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. + */ + locked?: boolean | null; + /** + * Optional. Logging settings of the app. + */ + loggingSettings?: Schema$LoggingSettings; + /** + * Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages. + */ + metadata?: {[key: string]: string} | null; + /** + * Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string | null; + /** + * Optional. Whether the app is pinned in the app list. + */ + pinned?: boolean | null; + /** + * Output only. The declarations of predefined variables for the app. + */ + predefinedVariableDeclarations?: Schema$AppVariableDeclaration[]; + /** + * Optional. The root agent is the entry point of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + rootAgent?: string | null; + /** + * Optional. TimeZone settings of the app. + */ + timeZoneSettings?: Schema$TimeZoneSettings; + /** + * Optional. The tool execution mode for the app. If not provided, will default to PARALLEL. + */ + toolExecutionMode?: string | null; + /** + * Output only. Timestamp when the app was last updated. + */ + updateTime?: string | null; + /** + * Optional. The declarations of the variables. + */ + variableDeclarations?: Schema$AppVariableDeclaration[]; + } + /** + * A snapshot of the app. + */ + export interface Schema$AppSnapshot { + /** + * Optional. List of agents in the app. + */ + agents?: Schema$Agent[]; + /** + * Optional. The basic settings for the app. + */ + app?: Schema$App; + /** + * Optional. List of examples in the app. + */ + examples?: Schema$Example[]; + /** + * Optional. List of guardrails in the app. + */ + guardrails?: Schema$Guardrail[]; + /** + * Optional. List of tools in the app. + */ + tools?: Schema$Tool[]; + /** + * Optional. List of toolsets in the app. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Defines the structure and metadata for a variable. + */ + export interface Schema$AppVariableDeclaration { + /** + * Required. The description of the variable. + */ + description?: string | null; + /** + * Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores. + */ + name?: string | null; + /** + * Required. The schema of the variable. + */ + schema?: Schema$Schema; + } + /** + * In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created. + */ + export interface Schema$AppVersion { + /** + * Output only. Timestamp when the app version was created. + */ + createTime?: string | null; + /** + * Output only. Email of the user who created the app version. + */ + creator?: string | null; + /** + * Optional. The description of the app version. + */ + description?: string | null; + /** + * Optional. The display name of the app version. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string | null; + /** + * Output only. The snapshot of the app when the version is created. + */ + snapshot?: Schema$AppSnapshot; + } + /** + * Configuration for how the input and output audio should be processed and delivered. + */ + export interface Schema$AudioProcessingConfig { + /** + * Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + ambientSoundConfig?: Schema$AmbientSoundConfig; + /** + * Optional. Configures the agent behavior for the user barge-in activities. + */ + bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. + */ + inactivityTimeout?: string | null; + /** + * Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. + */ + synthesizeSpeechConfigs?: { + [key: string]: Schema$SynthesizeSpeechConfig; + } | null; + } + /** + * Configuration for how the audio interactions should be recorded. + */ + export interface Schema$AudioRecordingConfig { + /** + * Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + gcsBucket?: string | null; + /** + * Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. + */ + gcsPathPrefix?: string | null; + } + /** + * Configuration for how the user barge-in activities should be handled. + */ + export interface Schema$BargeInConfig { + /** + * Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually. + */ + bargeInAwareness?: boolean | null; + /** + * Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile. + */ + disableBargeIn?: boolean | null; + } + /** + * Request message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsRequest { + /** + * Required. The resource names of the conversations to delete. + */ + conversations?: string[] | null; + } + /** + * Response message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsResponse { + /** + * The list of conversations that were successfully deleted. + */ + deletedConversations?: string[] | null; + /** + * Optional. A list of error messages associated with conversations that failed to be deleted. + */ + errorMessages?: string[] | null; + /** + * The list of conversations that failed to be deleted. + */ + failedConversations?: string[] | null; + } + /** + * Configurations for authentication with a bearer token. + */ + export interface Schema$BearerTokenConfig { + /** + * Required. The bearer token. Must be in the format `$context.variables.`. + */ + token?: string | null; + } + /** + * Settings to describe the BigQuery export behaviors for the app. + */ + export interface Schema$BigQueryExportSettings { + /** + * Optional. The BigQuery dataset to export the data to. + */ + dataset?: string | null; + /** + * Optional. Indicates whether the BigQuery export is enabled. + */ + enabled?: boolean | null; + /** + * Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + project?: string | null; + } + /** + * Represents a blob input or output in the conversation. + */ + export interface Schema$Blob { + /** + * Required. Raw bytes of the blob. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. + */ + mimeType?: string | null; + } + /** + * A callback defines the custom logic to be executed at various stages of agent interaction. + */ + export interface Schema$Callback { + /** + * Optional. Human-readable description of the callback. + */ + description?: string | null; + /** + * Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent. + */ + disabled?: boolean | null; + /** + * Optional. If enabled, the callback will also be executed on intermediate model outputs. This setting only affects after model callback. **ENABLE WITH CAUTION**. Typically after model callback only needs to be executed after receiving all model responses. Enabling proactive execution may have negative implication on the execution cost and latency, and should only be enabled in rare situations. + */ + proactiveExecutionEnabled?: boolean | null; + /** + * Required. The python code to execute for the callback. + */ + pythonCode?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Changelogs represent a change made to the app or to an resource within the app. + */ + export interface Schema$Changelog { + /** + * Output only. The action that was performed on the resource. + */ + action?: string | null; + /** + * Output only. Email address of the change author. + */ + author?: string | null; + /** + * Output only. The time when the change was made. + */ + createTime?: string | null; + /** + * Output only. The dependent resources that were changed. + */ + dependentResources?: Array<{[key: string]: any}> | null; + /** + * Output only. Description of the change. which typically captures the changed fields in the resource. + */ + description?: string | null; + /** + * Output only. Display name of the change. It typically should be the display name of the resource that was changed. + */ + displayName?: string | null; + /** + * Identifier. The unique identifier of the changelog. Format: `projects/{project\}/locations/{location\}/apps/{app\}/changelogs/{changelog\}` + */ + name?: string | null; + /** + * Output only. The new resource after the change. + */ + newResource?: {[key: string]: any} | null; + /** + * Output only. The original resource before the change. + */ + originalResource?: {[key: string]: any} | null; + /** + * Output only. The resource that was changed. + */ + resource?: string | null; + /** + * Output only. The type of the resource that was changed. + */ + resourceType?: string | null; + /** + * Output only. The monotonically increasing sequence number of the changelog. + */ + sequenceNumber?: string | null; + } + /** + * A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. + */ + export interface Schema$ChannelProfile { + /** + * Optional. The type of the channel profile. + */ + channelType?: string | null; + /** + * Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt. + */ + disableBargeInControl?: boolean | null; + /** + * Optional. Whether to disable DTMF (dual-tone multi-frequency). + */ + disableDtmf?: boolean | null; + /** + * Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Optional. The persona property of the channel profile. + */ + personaProperty?: Schema$ChannelProfilePersonaProperty; + /** + * Optional. The unique identifier of the channel profile. + */ + profileId?: string | null; + /** + * Optional. The configuration for the web widget. + */ + webWidgetConfig?: Schema$ChannelProfileWebWidgetConfig; + } + /** + * Represents the persona property of a channel. + */ + export interface Schema$ChannelProfilePersonaProperty { + /** + * Optional. The persona of the channel. + */ + persona?: string | null; + } + /** + * Message for configuration for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfig { + /** + * Optional. The modality of the web widget. + */ + modality?: string | null; + /** + * Optional. The security settings of the web widget. + */ + securitySettings?: Schema$ChannelProfileWebWidgetConfigSecuritySettings; + /** + * Optional. The theme of the web widget. + */ + theme?: string | null; + /** + * Optional. The title of the web widget. + */ + webWidgetTitle?: string | null; + } + /** + * Security settings for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfigSecuritySettings { + /** + * Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com" + */ + allowedOrigins?: string[] | null; + /** + * Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins. + */ + enableOriginCheck?: boolean | null; + /** + * Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent. + */ + enablePublicAccess?: boolean | null; + /** + * Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. + */ + enableRecaptcha?: boolean | null; + } + /** + * A chunk of content within a message. + */ + export interface Schema$Chunk { + /** + * Optional. Agent transfer event. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * A struct represents default variables at the start of the conversation, keyed by variable names. + */ + defaultVariables?: {[key: string]: any} | null; + /** + * Optional. Image data. + */ + image?: Schema$Image; + /** + * Optional. Custom payload data. + */ + payload?: {[key: string]: any} | null; + /** + * Optional. Text data. + */ + text?: string | null; + /** + * Optional. Tool execution request. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Tool execution response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Transcript associated with the audio. + */ + transcript?: string | null; + /** + * A struct represents variables that were updated in the conversation, keyed by variable names. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * Citations associated with the agent response. + */ + export interface Schema$Citations { + /** + * List of cited pieces of information. + */ + citedChunks?: Schema$CitationsCitedChunk[]; + } + /** + * Piece of cited information. + */ + export interface Schema$CitationsCitedChunk { + /** + * Text used for citaiton. + */ + text?: string | null; + /** + * Title of the cited document. + */ + title?: string | null; + /** + * URI used for citation. + */ + uri?: string | null; + } + /** + * Settings for custom client certificates. + */ + export interface Schema$ClientCertificateSettings { + /** + * Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + passphrase?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + privateKey?: string | null; + /** + * Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines. + */ + tlsCertificate?: string | null; + } + /** + * Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent. + */ + export interface Schema$ClientFunction { + /** + * Optional. The function description. + */ + description?: string | null; + /** + * Required. The function name. + */ + name?: string | null; + /** + * Optional. The schema of the function parameters. + */ + parameters?: Schema$Schema; + /** + * Optional. The schema of the function response. + */ + response?: Schema$Schema; + } + /** + * Settings to describe the Cloud Logging behaviors for the app. + */ + export interface Schema$CloudLoggingSettings { + /** + * Optional. Whether to enable Cloud Logging for the sessions. + */ + enableCloudLogging?: boolean | null; + } + /** + * A code block to be executed instead of a real tool call. + */ + export interface Schema$CodeBlock { + /** + * Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id\}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead. + */ + pythonCode?: string | null; + } + /** + * A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview. + */ + export interface Schema$ConnectorTool { + /** + * Required. Action for the tool to use. + */ + action?: Schema$Action; + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details. + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + description?: string | null; + /** + * Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + name?: string | null; + } + /** + * A toolset that generates tools from an Integration Connectors Connection. + */ + export interface Schema$ConnectorToolset { + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Required. The list of connector actions/entity operations to generate tools for. + */ + connectorActions?: Schema$Action[]; + } + /** + * A conversation represents an interaction between an end user and the CES app. + */ + export interface Schema$Conversation { + /** + * Output only. The version of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * DEPRECATED. Please use input_types instead. + */ + channelType?: string | null; + /** + * Output only. The deployment of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Output only. Timestamp when the conversation was completed. + */ + endTime?: string | null; + /** + * Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Output only. The input types of the conversation. + */ + inputTypes?: string[] | null; + /** + * Output only. The language code of the conversation. + */ + languageCode?: string | null; + /** + * Deprecated. Use turns instead. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + name?: string | null; + /** + * Output only. Indicate the source of the conversation. + */ + source?: string | null; + /** + * Output only. Timestamp when the conversation was created. + */ + startTime?: string | null; + /** + * Output only. The number of turns in the conversation. + */ + turnCount?: number | null; + /** + * Required. The turns in the conversation. + */ + turns?: Schema$ConversationTurn[]; + } + /** + * Settings to describe the conversation logging behaviors for the app. + */ + export interface Schema$ConversationLoggingSettings { + /** + * Optional. Whether to disable conversation logging for the sessions. + */ + disableConversationLogging?: boolean | null; + } + /** + * All information about a single turn in the conversation. + */ + export interface Schema$ConversationTurn { + /** + * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. + */ + messages?: Schema$Message[]; + /** + * Optional. The root span of the action processing. + */ + rootSpan?: Schema$Span; + } + /** + * A DataStore resource in Vertex AI Search. + */ + export interface Schema$DataStore { + /** + * Output only. The connector config for the data store connection. + */ + connectorConfig?: Schema$DataStoreConnectorConfig; + /** + * Output only. Timestamp when the data store was created. + */ + createTime?: string | null; + /** + * Output only. The display name of the data store. + */ + displayName?: string | null; + /** + * Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores. + */ + documentProcessingMode?: string | null; + /** + * Required. Full resource name of the DataStore. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}` + */ + name?: string | null; + /** + * Output only. The type of the data store. This field is readonly and populated by the server. + */ + type?: string | null; + } + /** + * The connector config for the data store connection. + */ + export interface Schema$DataStoreConnectorConfig { + /** + * Resource name of the collection the data store belongs to. + */ + collection?: string | null; + /** + * Display name of the collection the data store belongs to. + */ + collectionDisplayName?: string | null; + /** + * The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`. + */ + dataSource?: string | null; + } + /** + * Data store related settings for the app. + */ + export interface Schema$DataStoreSettings { + /** + * Output only. The engines for the app. + */ + engines?: Schema$DataStoreSettingsEngine[]; + } + /** + * An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreSettingsEngine { + /** + * Output only. The resource name of the engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + name?: string | null; + /** + * Output only. The type of the engine. + */ + type?: string | null; + } + /** + * Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreTool { + /** + * Optional. Boost specification to boost certain documents. + */ + boostSpecs?: Schema$DataStoreToolBoostSpecs[]; + /** + * Optional. Search within a single specific DataStore. + */ + dataStoreSource?: Schema$DataStoreToolDataStoreSource; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. Search within an Engine (potentially across multiple DataStores). + */ + engineSource?: Schema$DataStoreToolEngineSource; + /** + * Optional. The filter parameter behavior. + */ + filterParameterBehavior?: string | null; + /** + * Optional. The modality configs for the data store. + */ + modalityConfigs?: Schema$DataStoreToolModalityConfig[]; + /** + * Required. The data store tool name. + */ + name?: string | null; + } + /** + * Boost specification to boost certain documents. + */ + export interface Schema$DataStoreToolBoostSpec { + /** + * Required. A list of boosting specifications. + */ + conditionBoostSpecs?: Schema$DataStoreToolBoostSpecConditionBoostSpec[]; + } + /** + * Boost specification for a condition. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY("en", "fr")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting. + */ + export interface Schema$DataStoreToolBoostSpecs { + /** + * Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}. + */ + dataStores?: string[] | null; + /** + * Required. A list of boosting specifications. + */ + spec?: Schema$DataStoreToolBoostSpec[]; + } + /** + * Configuration for searching within a specific DataStore. + */ + export interface Schema$DataStoreToolDataStoreSource { + /** + * Optional. The data store. + */ + dataStore?: Schema$DataStore; + /** + * Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Configuration for searching within an Engine, potentially targeting specific DataStores. + */ + export interface Schema$DataStoreToolEngineSource { + /** + * Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine. + */ + dataStoreSources?: Schema$DataStoreToolDataStoreSource[]; + /** + * Required. Full resource name of the Engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + engine?: string | null; + /** + * Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Grounding configuration. + */ + export interface Schema$DataStoreToolGroundingConfig { + /** + * Optional. Whether grounding is disabled. + */ + disabled?: boolean | null; + /** + * Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned. + */ + groundingLevel?: number | null; + } + /** + * If specified, will apply the given configuration for the specified modality. + */ + export interface Schema$DataStoreToolModalityConfig { + /** + * Optional. The grounding configuration. + */ + groundingConfig?: Schema$DataStoreToolGroundingConfig; + /** + * Required. The modality type. + */ + modalityType?: string | null; + /** + * Optional. The rewriter config. + */ + rewriterConfig?: Schema$DataStoreToolRewriterConfig; + /** + * Optional. The summarization config. + */ + summarizationConfig?: Schema$DataStoreToolSummarizationConfig; + } + /** + * Rewriter configuration. + */ + export interface Schema$DataStoreToolRewriterConfig { + /** + * Optional. Whether the rewriter is disabled. + */ + disabled?: boolean | null; + /** + * Required. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Summarization configuration. + */ + export interface Schema$DataStoreToolSummarizationConfig { + /** + * Optional. Whether summarization is disabled. + */ + disabled?: boolean | null; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Operation metadata for EvaluationService.DeleteEvaluationRun. + */ + export interface Schema$DeleteEvaluationRunOperationMetadata {} + /** + * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. + */ + export interface Schema$Deployment { + /** + * Required. The resource name of the app version to deploy. Format: projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\} + */ + appVersion?: string | null; + /** + * Required. The channel profile used in the deployment. + */ + channelProfile?: Schema$ChannelProfile; + /** + * Output only. Timestamp when this deployment was created. + */ + createTime?: string | null; + /** + * Required. Display name of the deployment. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string | null; + /** + * Output only. Timestamp when this deployment was last updated. + */ + updateTime?: 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 {} + /** + * 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. + */ + export interface Schema$EndSession { + /** + * Optional. Provides additional information about the end session signal, such as the reason for ending the session. + */ + metadata?: {[key: string]: any} | null; + } + /** + * End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`. + */ + export interface Schema$EndUserAuthConfig { + /** + * Oauth 2.0 Authorization Code authentication. + */ + oauth2AuthCodeConfig?: Schema$EndUserAuthConfigOauth2AuthCodeConfig; + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication. + */ + oauth2JwtBearerConfig?: Schema$EndUserAuthConfigOauth2JwtBearerConfig; + } + /** + * Oauth 2.0 Authorization Code authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2AuthCodeConfig { + /** + * Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`. + */ + oauthToken?: string | null; + } + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2JwtBearerConfig { + /** + * Required. Client parameter name to pass through. Must be in the format `$context.variables.`. + */ + clientKey?: string | null; + /** + * Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`. + */ + issuer?: string | null; + /** + * Required. Subject parameter name to pass through. Must be in the format `$context.variables.`. + */ + subject?: string | null; + } + /** + * An evaluation represents all of the information needed to simulate and evaluate an agent. + */ + export interface Schema$Evaluation { + /** + * Output only. The aggregated metrics for this evaluation across all runs. + */ + aggregatedMetrics?: Schema$AggregatedMetrics; + /** + * Output only. The user who created the evaluation. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the evaluation was created. + */ + createTime?: string | null; + /** + * Optional. User-defined description of the evaluation. + */ + description?: string | null; + /** + * Required. User-defined display name of the evaluation. Unique within an App. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. List of evaluation datasets the evaluation belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDatasets?: string[] | null; + /** + * Output only. The EvaluationRuns that this Evaluation is associated with. + */ + evaluationRuns?: string[] | null; + /** + * Optional. The golden steps to be evaluated. + */ + golden?: Schema$EvaluationGolden; + /** + * Output only. Whether the evaluation is invalid. This can happen if an evaluation is referencing a tool, toolset, or agent that has since been deleted. + */ + invalid?: boolean | null; + /** + * Output only. The latest evaluation result for this evaluation. + */ + lastCompletedResult?: Schema$EvaluationResult; + /** + * Output only. The last 10 evaluation results for this evaluation. This is only populated if include_last_ten_results is set to true in the ListEvaluationsRequest or GetEvaluationRequest. + */ + lastTenResults?: Schema$EvaluationResult[]; + /** + * Output only. The user who last updated the evaluation. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + name?: string | null; + /** + * Optional. The config for a scenario. + */ + scenario?: Schema$EvaluationScenario; + /** + * Optional. User defined tags to categorize the evaluation. + */ + tags?: string[] | null; + /** + * Output only. Timestamp when the evaluation was last updated. + */ + updateTime?: string | null; + } + /** + * EvaluationConfig configures settings for running the evaluation. + */ + export interface Schema$EvaluationConfig { + /** + * Optional. The channel to evaluate. + */ + evaluationChannel?: string | null; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. Specifies whether the evaluation should use real tool calls or fake tools. + */ + toolCallBehaviour?: string | null; + } + /** + * An evaluation dataset represents a set of evaluations that are grouped together basaed on shared tags. + */ + export interface Schema$EvaluationDataset { + /** + * Output only. The aggregated metrics for this evaluation dataset across all runs. + */ + aggregatedMetrics?: Schema$AggregatedMetrics; + /** + * Output only. The user who created the evaluation dataset. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the evaluation dataset was created. + */ + createTime?: string | null; + /** + * Required. User-defined display name of the evaluation dataset. Unique within an App. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Evaluations that are included in this dataset. + */ + evaluations?: string[] | null; + /** + * Output only. The user who last updated the evaluation dataset. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the evaluation dataset was last updated. + */ + updateTime?: string | null; + } + /** + * Information about an error encountered during an evaluation execution. + */ + export interface Schema$EvaluationErrorInfo { + /** + * Output only. The error message. + */ + errorMessage?: string | null; + /** + * Output only. The type of error. + */ + errorType?: string | null; + /** + * Output only. The session ID for the conversation that caused the error. + */ + sessionId?: string | null; + } + /** + * An evaluation expectation represents a specific criteria to evaluate against. + */ + export interface Schema$EvaluationExpectation { + /** + * Output only. Timestamp when the evaluation expectation was created. + */ + createTime?: string | null; + /** + * Required. User-defined display name. Must be unique within the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Evaluation criteria based on an LLM prompt. + */ + llmCriteria?: Schema$EvaluationExpectationLlmCriteria; + /** + * Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + name?: string | null; + /** + * Optional. User-defined tags for expectations. Can be used to filter expectations. + */ + tags?: string[] | null; + /** + * Output only. Timestamp when the evaluation expectation was last updated. + */ + updateTime?: string | null; + } + /** + * Configuration for LLM-based evaluation criteria. + */ + export interface Schema$EvaluationExpectationLlmCriteria { + /** + * Required. The prompt/instructions provided to the LLM judge. + */ + prompt?: string | null; + } + /** + * The steps required to replay a golden conversation. + */ + export interface Schema$EvaluationGolden { + /** + * Optional. The evaluation expectations to evaluate the replayed conversation against. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluationExpectation\}` + */ + evaluationExpectations?: string[] | null; + /** + * Required. The golden turns required to replay a golden conversation. + */ + turns?: Schema$EvaluationGoldenTurn[]; + } + /** + * Represents a single, checkable requirement. + */ + export interface Schema$EvaluationGoldenExpectation { + /** + * Optional. Check that the agent responded with the correct response. The role "agent" is implied. + */ + agentResponse?: Schema$Message; + /** + * Optional. Check that the agent transferred the conversation to a different agent. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * Optional. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + mockToolResponse?: Schema$ToolResponse; + /** + * Optional. A note for this requirement, useful in reporting when specific checks fail. E.g., "Check_Payment_Tool_Called". + */ + note?: string | null; + /** + * Optional. Check that a specific tool was called with the parameters. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Check that a specific tool had the expected response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Check that the agent updated the session variables to the expected values. Used to also capture agent variable updates for golden evals. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * A golden turn defines a single turn in a golden conversation. + */ + export interface Schema$EvaluationGoldenTurn { + /** + * Optional. The root span of the golden turn for processing and maintaining audio information. + */ + rootSpan?: Schema$Span; + /** + * Required. The steps required to replay a golden conversation. + */ + steps?: Schema$EvaluationStep[]; + } + /** + * Threshold settings for metrics in an Evaluation. + */ + export interface Schema$EvaluationMetricsThresholds { + /** + * Optional. The golden evaluation metrics thresholds. + */ + goldenEvaluationMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds; + /** + * Optional. The hallucination metric behavior for golden evaluations. + */ + goldenHallucinationMetricBehavior?: string | null; + /** + * Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations. + */ + hallucinationMetricBehavior?: string | null; + /** + * Optional. The hallucination metric behavior for scenario evaluations. + */ + scenarioHallucinationMetricBehavior?: string | null; + } + /** + * Settings for golden evaluations. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds { + /** + * Optional. The expectation level metrics thresholds. + */ + expectationLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds; + /** + * Optional. The turn level metrics thresholds. + */ + turnLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds; + } + /** + * Expectation level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds { + /** + * Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0. + */ + toolInvocationParameterCorrectnessThreshold?: number | null; + } + /** + * Turn level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds { + /** + * Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0. + */ + overallToolInvocationCorrectnessThreshold?: number | null; + /** + * Optional. The semantic similarity channel to use for evaluation. + */ + semanticSimilarityChannel?: string | null; + /** + * Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is \>= 3. + */ + semanticSimilaritySuccessThreshold?: number | null; + } + /** + * A persona represents an end user in an evaluation. + */ + export interface Schema$EvaluationPersona { + /** + * Optional. The description of the persona. + */ + description?: string | null; + /** + * Required. The display name of the persona. Unique within an app. + */ + displayName?: string | null; + /** + * Required. The unique identifier of the persona. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationPersonas/{evaluationPersona\}` + */ + name?: string | null; + /** + * Required. An instruction for the agent on how to behave in the evaluation. + */ + personality?: string | null; + /** + * Optional. Configuration for how the persona sounds (TTS settings). + */ + speechConfig?: Schema$EvaluationPersonaSpeechConfig; + } + /** + * Configuration for Text-to-Speech generation. + */ + export interface Schema$EvaluationPersonaSpeechConfig { + /** + * Optional. The simulated audio environment. + */ + environment?: string | null; + /** + * Optional. The speaking rate. 1.0 is normal. Lower is slower (e.g., 0.8), higher is faster (e.g., 1.5). Useful for testing how the agent handles fast talkers. + */ + speakingRate?: number | null; + /** + * Optional. The specific voice identifier/accent to use. Example: "en-US-Wavenet-D" or "en-GB-Standard-A" + */ + voiceId?: string | null; + } + /** + * An evaluation result represents the output of running an Evaluation. + */ + export interface Schema$EvaluationResult { + /** + * Output only. The app version used to generate the conversation that resulted in this result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Output only. The display name of the `app_version` that the evaluation ran against. + */ + appVersionDisplayName?: string | null; + /** + * Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelog?: string | null; + /** + * Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelogCreateTime?: string | null; + /** + * Output only. The configuration used in the evaluation run that resulted in this result. + */ + config?: Schema$EvaluationConfig; + /** + * Output only. Timestamp when the evaluation result was created. + */ + createTime?: string | null; + /** + * Required. Display name of the Evaluation Result. Unique within an Evaluation. By default, it has the following format: " result - ". + */ + displayName?: string | null; + /** + * Output only. Deprecated: Use `error_info` instead. Errors encountered during execution. + */ + error?: Schema$Status; + /** + * Output only. Error information for the evaluation result. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The evaluation thresholds for the result. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Output only. The evaluation run that produced this result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + evaluationRun?: string | null; + /** + * Output only. The outcome of the evaluation. Only populated if execution_state is COMPLETE. + */ + evaluationStatus?: string | null; + /** + * Output only. The state of the evaluation result execution. + */ + executionState?: string | null; + /** + * Output only. The outcome of a golden evaluation. + */ + goldenResult?: Schema$EvaluationResultGoldenResult; + /** + * Output only. The method used to run the golden evaluation. + */ + goldenRunMethod?: string | null; + /** + * Output only. The user who initiated the evaluation run that resulted in this result. + */ + initiatedBy?: string | null; + /** + * Identifier. The unique identifier of the evaluation result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}/results/{result\}` + */ + name?: string | null; + /** + * Output only. The persona used to generate the conversation for the evaluation result. + */ + persona?: Schema$EvaluationPersona; + /** + * Output only. The outcome of a scenario evaluation. + */ + scenarioResult?: Schema$EvaluationResultScenarioResult; + } + /** + * The result of a single evaluation expectation. + */ + export interface Schema$EvaluationResultEvaluationExpectationResult { + /** + * Output only. The evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + evaluationExpectation?: string | null; + /** + * Output only. The explanation for the result. + */ + explanation?: string | null; + /** + * Output only. The outcome of the evaluation expectation. + */ + outcome?: string | null; + /** + * Output only. The prompt that was used for the evaluation. + */ + prompt?: string | null; + } + /** + * Specifies the expectation and the result of that expectation. + */ + export interface Schema$EvaluationResultGoldenExpectationOutcome { + /** + * Output only. The expectation that was evaluated. + */ + expectation?: Schema$EvaluationGoldenExpectation; + /** + * Output only. The result of the agent response expectation. + */ + observedAgentResponse?: Schema$Message; + /** + * Output only. The result of the agent transfer expectation. + */ + observedAgentTransfer?: Schema$AgentTransfer; + /** + * Output only. The result of the tool call expectation. + */ + observedToolCall?: Schema$ToolCall; + /** + * Output only. The result of the tool response expectation. + */ + observedToolResponse?: Schema$ToolResponse; + /** + * Output only. The outcome of the expectation. + */ + outcome?: string | null; + /** + * Output only. The result of the semantic similarity check. + */ + semanticSimilarityResult?: Schema$EvaluationResultSemanticSimilarityResult; + /** + * Output only. The result of the tool invocation check. + */ + toolInvocationResult?: Schema$EvaluationResultGoldenExpectationOutcomeToolInvocationResult; + } + /** + * The result of the tool invocation check. + */ + export interface Schema$EvaluationResultGoldenExpectationOutcomeToolInvocationResult { + /** + * Output only. A free text explanation for the tool invocation result. + */ + explanation?: string | null; + /** + * Output only. The outcome of the tool invocation check. This is determined by comparing the parameter_correctness_score to the threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * Output only. The tool invocation parameter correctness score. This indicates the percent of parameters from the expected tool call that were also present in the actual tool call. + */ + parameterCorrectnessScore?: number | null; + } + /** + * The result of a golden evaluation. + */ + export interface Schema$EvaluationResultGoldenResult { + /** + * Output only. The results of the evaluation expectations. + */ + evaluationExpectationResults?: Schema$EvaluationResultEvaluationExpectationResult[]; + /** + * Output only. The result of running each turn of the golden conversation. + */ + turnReplayResults?: Schema$EvaluationResultGoldenResultTurnReplayResult[]; + } + /** + * The result of running a single turn of the golden conversation. + */ + export interface Schema$EvaluationResultGoldenResultTurnReplayResult { + /** + * Output only. The conversation that was generated for this turn. + */ + conversation?: string | null; + /** + * Output only. Information about the error that occurred during this turn. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The outcome of each expectation. + */ + expectationOutcome?: Schema$EvaluationResultGoldenExpectationOutcome[]; + /** + * Output only. The result of the hallucination check. + */ + hallucinationResult?: Schema$EvaluationResultHallucinationResult; + /** + * Output only. The result of the overall tool invocation check. + */ + overallToolInvocationResult?: Schema$EvaluationResultOverallToolInvocationResult; + /** + * Output only. The result of the semantic similarity check. + */ + semanticSimilarityResult?: Schema$EvaluationResultSemanticSimilarityResult; + /** + * Output only. The latency of spans in the turn. + */ + spanLatencies?: Schema$EvaluationResultSpanLatency[]; + /** + * Output only. The latency of each tool call in the turn. + */ + toolCallLatencies?: Schema$EvaluationResultToolCallLatency[]; + /** + * Output only. Deprecated. Use OverallToolInvocationResult instead. + */ + toolInvocationScore?: number | null; + /** + * Output only. The overall tool ordered invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked in the expected order. + */ + toolOrderedInvocationScore?: number | null; + /** + * Output only. Duration of the turn. + */ + turnLatency?: string | null; + } + /** + * The result of the hallucination check for a single turn. + */ + export interface Schema$EvaluationResultHallucinationResult { + /** + * Output only. The explanation for the hallucination score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: Justified Score 0: Not Justified Score -1: No Claim To Assess + */ + label?: string | null; + /** + * Output only. The hallucination score. Can be -1, 0, 1. + */ + score?: number | null; + } + /** + * The result of the overall tool invocation check. + */ + export interface Schema$EvaluationResultOverallToolInvocationResult { + /** + * Output only. The outcome of the tool invocation check. This is determined by comparing the tool_invocation_score to the overall_tool_invocation_correctness_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * The overall tool invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked. + */ + toolInvocationScore?: number | null; + } + /** + * The outcome of a scenario expectation. + */ + export interface Schema$EvaluationResultScenarioExpectationOutcome { + /** + * Output only. The expectation that was evaluated. + */ + expectation?: Schema$EvaluationScenarioExpectation; + /** + * Output only. The observed agent response. + */ + observedAgentResponse?: Schema$Message; + /** + * Output only. The observed tool call. + */ + observedToolCall?: Schema$EvaluationResultScenarioExpectationOutcomeObservedToolCall; + /** + * Output only. The outcome of the ScenarioExpectation. + */ + outcome?: string | null; + } + /** + * The observed tool call and response. + */ + export interface Schema$EvaluationResultScenarioExpectationOutcomeObservedToolCall { + /** + * Output only. The observed tool call. + */ + toolCall?: Schema$ToolCall; + /** + * Output only. The observed tool response. + */ + toolResponse?: Schema$ToolResponse; + } + /** + * The outcome of a scenario evaluation. + */ + export interface Schema$EvaluationResultScenarioResult { + /** + * Output only. Whether all expectations were satisfied for this turn. + */ + allExpectationsSatisfied?: boolean | null; + /** + * Output only. The conversation that was generated in the scenario. + */ + conversation?: string | null; + /** + * Output only. The results of the evaluation expectations. + */ + evaluationExpectationResults?: Schema$EvaluationResultEvaluationExpectationResult[]; + /** + * Output only. The outcome of each expectation. + */ + expectationOutcomes?: Schema$EvaluationResultScenarioExpectationOutcome[]; + /** + * Output only. The result of the hallucination check. There will be one hallucination result for each turn in the conversation. + */ + hallucinationResult?: Schema$EvaluationResultHallucinationResult[]; + /** + * Output only. The outcome of the rubric. + */ + rubricOutcomes?: Schema$EvaluationResultScenarioRubricOutcome[]; + /** + * Output only. The latency of spans in the conversation. + */ + spanLatencies?: Schema$EvaluationResultSpanLatency[]; + /** + * Output only. The task that was used when running the scenario for this result. + */ + task?: string | null; + /** + * Output only. Whether the task was completed for this turn. This is a composite of all expectations satisfied, no hallucinations, and user goal satisfaction. + */ + taskCompleted?: boolean | null; + /** + * Output only. The result of the task completion check. + */ + taskCompletionResult?: Schema$EvaluationResultTaskCompletionResult; + /** + * Output only. The latency of each tool call execution in the conversation. + */ + toolCallLatencies?: Schema$EvaluationResultToolCallLatency[]; + /** + * Output only. The user facts that were used by the scenario for this result. + */ + userFacts?: Schema$EvaluationScenarioUserFact[]; + /** + * Output only. The result of the user goal satisfaction check. + */ + userGoalSatisfactionResult?: Schema$EvaluationResultUserGoalSatisfactionResult; + } + /** + * The outcome of the evaluation against the rubric. + */ + export interface Schema$EvaluationResultScenarioRubricOutcome { + /** + * Output only. The rubric that was used to evaluate the conversation. + */ + rubric?: string | null; + /** + * Output only. The score of the conversation against the rubric. + */ + score?: number | null; + /** + * Output only. The rater's response to the rubric. + */ + scoreExplanation?: string | null; + } + /** + * The result of the semantic similarity check. + */ + export interface Schema$EvaluationResultSemanticSimilarityResult { + /** + * Output only. The explanation for the semantic similarity score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 4: Fully Consistent Score 3: Mostly Consistent Score 2: Partially Consistent (Minor Omissions) Score 1: Largely Inconsistent (Major Omissions) Score 0: Completely Inconsistent / Contradictory + */ + label?: string | null; + /** + * Output only. The outcome of the semantic similarity check. This is determined by comparing the score to the semantic_similarity_success_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4. + */ + score?: number | null; + } + /** + * The latency of a span execution. + */ + export interface Schema$EvaluationResultSpanLatency { + /** + * Output only. The name of the user callback span. + */ + callback?: string | null; + /** + * Output only. The display name of the span. Applicable to tool and guardrail spans. + */ + displayName?: string | null; + /** + * Output only. The end time of span. + */ + endTime?: string | null; + /** + * Output only. The latency of span. + */ + executionLatency?: string | null; + /** + * Output only. The name of the LLM span. + */ + model?: string | null; + /** + * Output only. The resource name of the guardrail or tool spans. + */ + resource?: string | null; + /** + * Output only. The start time of span. + */ + startTime?: string | null; + /** + * Output only. The toolset tool identifier. + */ + toolset?: Schema$ToolsetTool; + /** + * Output only. The type of span. + */ + type?: string | null; + } + /** + * The result of the task completion check for the conversation. + */ + export interface Schema$EvaluationResultTaskCompletionResult { + /** + * Output only. The explanation for the task completion score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: Task Completed Score 0: Task Not Completed Score -1: User Goal Undefined + */ + label?: string | null; + /** + * Output only. The task completion score. Can be -1, 0, 1 + */ + score?: number | null; + } + /** + * The latency of a tool call execution. + */ + export interface Schema$EvaluationResultToolCallLatency { + /** + * Output only. The display name of the tool. + */ + displayName?: string | null; + /** + * Output only. The end time of the tool call execution. + */ + endTime?: string | null; + /** + * Output only. The latency of the tool call execution. + */ + executionLatency?: string | null; + /** + * Output only. The start time of the tool call execution. + */ + startTime?: string | null; + /** + * Output only. The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}`. + */ + tool?: string | null; + } + /** + * The result of a user goal satisfaction check for a conversation. + */ + export interface Schema$EvaluationResultUserGoalSatisfactionResult { + /** + * Output only. The explanation for the user task satisfaction score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: User Task Satisfied Score 0: User Task Not Satisfied Score -1: User Task Unspecified + */ + label?: string | null; + /** + * Output only. The user task satisfaction score. Can be -1, 0, 1. + */ + score?: number | null; + } + /** + * An evaluation run represents an all the evaluation results from an evaluation execution. + */ + export interface Schema$EvaluationRun { + /** + * Output only. The app version to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Output only. The display name of the `app_version` that the evaluation ran against. + */ + appVersionDisplayName?: string | null; + /** + * Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelog?: string | null; + /** + * Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelogCreateTime?: string | null; + /** + * Output only. The configuration used in the run. + */ + config?: Schema$EvaluationConfig; + /** + * Output only. Timestamp when the evaluation run was created. + */ + createTime?: string | null; + /** + * Optional. User-defined display name of the evaluation run. default: " run - ". + */ + displayName?: string | null; + /** + * Output only. Deprecated: Use error_info instead. Errors encountered during execution. + */ + error?: Schema$Status; + /** + * Output only. Error information for the evaluation run. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDataset?: string | null; + /** + * Output only. The evaluation results that are part of this run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}/results/{result\}` + */ + evaluationResults?: string[] | null; + /** + * Output only. Map of evaluation name to EvaluationRunSummary. + */ + evaluationRunSummaries?: { + [key: string]: Schema$EvaluationRunEvaluationRunSummary; + } | null; + /** + * Output only. The evaluations that are part of this run. The list may contain evaluations of either type. This field is mutually exclusive with `evaluation_dataset`. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + evaluations?: string[] | null; + /** + * Output only. The type of the evaluations in this run. + */ + evaluationType?: string | null; + /** + * Output only. The method used to run the evaluation. + */ + goldenRunMethod?: string | null; + /** + * Output only. The user who initiated the evaluation run. + */ + initiatedBy?: string | null; + /** + * Output only. Latency report for the evaluation run. + */ + latencyReport?: Schema$LatencyReport; + /** + * Identifier. The unique identifier of the evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + name?: string | null; + /** + * Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. + */ + optimizationConfig?: Schema$OptimizationConfig; + /** + * Output only. The configuration to use for the run per persona. + */ + personaRunConfigs?: Schema$PersonaRunConfig[]; + /** + * Output only. The progress of the evaluation run. + */ + progress?: Schema$EvaluationRunProgress; + /** + * Output only. The number of times the evaluations inside the run were run. + */ + runCount?: number | null; + /** + * Output only. The scheduled evaluation run resource name that created this evaluation run. This field is only set if the evaluation run was created by a scheduled evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/scheduledEvaluationRuns/{scheduled_evaluation_run\}` + */ + scheduledEvaluationRun?: string | null; + /** + * Output only. The state of the evaluation run. + */ + state?: string | null; + } + /** + * Contains the summary of passed and failed result counts for a specific evaluation in an evaluation run. + */ + export interface Schema$EvaluationRunEvaluationRunSummary { + /** + * Output only. Number of error results for the associated Evaluation in this run. + */ + errorCount?: number | null; + /** + * Output only. Number of failed results for the associated Evaluation in this run. + */ + failedCount?: number | null; + /** + * Output only. Number of passed results for the associated Evaluation in this run. + */ + passedCount?: number | null; + } + /** + * The progress of the evaluation run. + */ + export interface Schema$EvaluationRunProgress { + /** + * Output only. Number of evaluation results that finished successfully. (EvaluationResult.execution_state is COMPLETED). + */ + completedCount?: number | null; + /** + * Output only. Number of evaluation results that failed to execute. (EvaluationResult.execution_state is ERROR). + */ + errorCount?: number | null; + /** + * Output only. Number of completed evaluation results with an outcome of FAIL. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is FAIL). + */ + failedCount?: number | null; + /** + * Output only. Number of completed evaluation results with an outcome of PASS. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is PASS). + */ + passedCount?: number | null; + /** + * Output only. Total number of evaluation results in this run. + */ + totalCount?: number | null; + } + /** + * The config for a scenario + */ + export interface Schema$EvaluationScenario { + /** + * Optional. The evaluation expectations to evaluate the conversation produced by the simulation against. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluationExpectation\}` + */ + evaluationExpectations?: string[] | null; + /** + * Optional. The maximum number of turns to simulate. If not specified, the simulation will continue until the task is complete. + */ + maxTurns?: number | null; + /** + * Required. The rubrics to score the scenario against. + */ + rubrics?: string[] | null; + /** + * Required. The ScenarioExpectations to evaluate the conversation produced by the user simulation. + */ + scenarioExpectations?: Schema$EvaluationScenarioExpectation[]; + /** + * Required. The task to be targeted by the scenario. + */ + task?: string | null; + /** + * Optional. Deprecated. Use user_goal_behavior instead. + */ + taskCompletionBehavior?: string | null; + /** + * Optional. The user facts to be used by the scenario. + */ + userFacts?: Schema$EvaluationScenarioUserFact[]; + /** + * Optional. The expected behavior of the user goal. + */ + userGoalBehavior?: string | null; + /** + * Optional. Variables / Session Parameters as context for the session, keyed by variable names. Members of this struct will override any default values set by the system. Note, these are different from user facts, which are facts known to the user. Variables are parameters known to the agent: i.e. MDN (phone number) passed by the telephony system. + */ + variableOverrides?: {[key: string]: any} | null; + } + /** + * The expectation to evaluate the conversation produced by the simulation. + */ + export interface Schema$EvaluationScenarioExpectation { + /** + * Optional. The agent response to be evaluated. + */ + agentResponse?: Schema$Message; + /** + * Optional. The tool call and response pair to be evaluated. + */ + toolExpectation?: Schema$EvaluationScenarioExpectationToolExpectation; + } + /** + * The tool call and response pair to be evaluated. + */ + export interface Schema$EvaluationScenarioExpectationToolExpectation { + /** + * Required. The expected tool call, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + expectedToolCall?: Schema$ToolCall; + /** + * Required. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + mockToolResponse?: Schema$ToolResponse; + } + /** + * Facts about the user as a key value pair. + */ + export interface Schema$EvaluationScenarioUserFact { + /** + * Required. The name of the user fact. + */ + name?: string | null; + /** + * Required. The value of the user fact. + */ + value?: string | null; + } + /** + * Settings for evaluation. + */ + export interface Schema$EvaluationSettings { + /** + * Optional. Configures the default tool call behaviour for golden evaluations. + */ + goldenEvaluationToolCallBehaviour?: string | null; + /** + * Optional. The default method used to run golden evaluations. This will be used if no golden_run_method is specified in the RunEvaluationRequest. + */ + goldenRunMethod?: string | null; + /** + * Optional. Who starts the conversation in a scenario evaluation. + */ + scenarioConversationInitiator?: string | null; + /** + * Optional. Configures the default tool call behaviour for scenario evaluations. + */ + scenarioEvaluationToolCallBehaviour?: string | null; + } + /** + * A step defines a singular action to happen during the evaluation. + */ + export interface Schema$EvaluationStep { + /** + * Optional. Transfer the conversation to a different agent. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * Optional. Executes an expectation on the current turn. + */ + expectation?: Schema$EvaluationGoldenExpectation; + /** + * Optional. User input for the conversation. + */ + userInput?: Schema$SessionInput; + } + /** + * Event input. + */ + export interface Schema$Event { + /** + * Required. The name of the event. + */ + event?: string | null; + } + /** + * An example represents a sample conversation between the user and the agent(s). + */ + export interface Schema$Example { + /** + * Output only. Timestamp when the example was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the example. + */ + description?: string | null; + /** + * Required. Display name of the example. + */ + displayName?: string | null; + /** + * Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples. + */ + invalid?: boolean | null; + /** + * Optional. The collection of messages that make up the conversation. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the example was last updated. + */ + updateTime?: string | null; + } + /** + * Request message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolRequest { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolResponse { + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for AgentService.ExportApp. + */ + export interface Schema$ExportAppRequest { + /** + * Required. The format to export the app in. + */ + exportFormat?: string | null; + /** + * Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object. + */ + gcsUri?: string | null; + } + /** + * Response message for AgentService.ExportApp. + */ + export interface Schema$ExportAppResponse { + /** + * App folder compressed as a zip file. + */ + appContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported. + */ + appUri?: string | null; + } + /** + * Expression condition based on session state. + */ + export interface Schema$ExpressionCondition { + /** + * Required. The string representation of cloud.api.Expression condition. + */ + expression?: string | null; + } + /** + * The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results. + */ + export interface Schema$FileSearchTool { + /** + * Optional. The type of the corpus. Default is FULLY_MANAGED. + */ + corpusType?: string | null; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. The corpus where files are stored. Format: projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\} + */ + fileCorpus?: string | null; + /** + * Required. The tool name. + */ + name?: string | null; + } + /** + * Response message for AgentService.GenerateAppResource. + */ + export interface Schema$GenerateAppResourceResponse { + /** + * Agent generated by the LLM assistant. + */ + agent?: Schema$Agent; + /** + * The app resources generated by the LLM assistant. + */ + appResources?: Schema$GenerateAppResourceResponseAppResources; + /** + * App snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant. + */ + appSnapshot?: Schema$AppSnapshot; + /** + * Evaluations generated by the LLM assistant. + */ + evaluations?: Schema$GenerateAppResourceResponseEvaluations; + /** + * Additional information about the generated result. + */ + generateResultInfo?: Schema$GenerateAppResourceResponseGenerateResultInfo; + /** + * The list of tools generated by the LLM assistant. + */ + tools?: Schema$GenerateAppResourceResponseTools; + /** + * Toolset generated by the LLM assistant. Supports Open API toolset schema generation. + */ + toolset?: Schema$Toolset; + } + /** + * The list of app resources generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseAppResources { + /** + * The app snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant. + */ + appSnapshot?: Schema$AppSnapshot; + /** + * The list of evaluations generated by the LLM assistant. + */ + evaluations?: Schema$Evaluation[]; + } + /** + * The list of evaluations generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseEvaluations { + /** + * The list of generated evaluations. + */ + evaluations?: Schema$Evaluation[]; + } + /** + * This provides additional information about the generated result. + */ + export interface Schema$GenerateAppResourceResponseGenerateResultInfo { + /** + * An explanation of the changes in the generated resource. + */ + explanation?: string | null; + } + /** + * The list of tools generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseTools { + /** + * The list of tools generated by the LLM assistant. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenRequest { + /** + * Required. The deployment of the app to use for the session. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + deployment?: string | null; + /** + * Optional. The reCAPTCHA token generated by the client-side chat widget. + */ + recaptchaToken?: string | null; + } + /** + * Response message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenResponse { + /** + * The session scoped token for chat widget to authenticate with Session APIs. + */ + chatToken?: string | null; + /** + * The time at which the chat token expires. + */ + expireTime?: string | null; + } + /** + * Operation metadata for EvaluationService.GenerateEvaluation. + */ + export interface Schema$GenerateEvaluationOperationMetadata {} + /** + * Request message for EvaluationService.GenerateEvaluation. + */ + export interface Schema$GenerateEvaluationRequest { + /** + * Optional. Indicate the source of the conversation. If not set, all sources will be searched. + */ + source?: string | null; + } + /** + * Search suggestions from Google Search Tool. + */ + export interface Schema$GoogleSearchSuggestions { + /** + * Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`. + */ + htmls?: string[] | null; + /** + * List of queries used to perform the google search along with the search result URIs forming the search suggestions. + */ + webSearchQueries?: Schema$WebSearchQuery[]; + } + /** + * Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search. + */ + export interface Schema$GoogleSearchTool { + /** + * Optional. Content will be fetched directly from these URLs for context and grounding. Example: "https://example.com/path.html". A maximum of 20 URLs are allowed. + */ + contextUrls?: string[] | null; + /** + * Optional. Description of the tool's purpose. + */ + description?: string | null; + /** + * Optional. List of domains to be excluded from the search results. Example: "example.com". A maximum of 2000 domains can be excluded. + */ + excludeDomains?: string[] | null; + /** + * Required. The name of the tool. + */ + name?: string | null; + /** + * Optional. Specifies domains to restrict search results to. Example: "example.com", "another.site". A maximum of 20 domains can be specified. + */ + preferredDomains?: string[] | null; + /** + * Optional. Prompt instructions passed to planner on how the search results should be processed for text and voice. + */ + promptConfig?: Schema$GoogleSearchToolPromptConfig; + } + /** + * Prompt settings used by the model when processing or summarizing the google search results. + */ + export interface Schema$GoogleSearchToolPromptConfig { + /** + * Optional. Defines the prompt used for the system instructions when interacting with the agent in chat conversations. If not set, default prompt will be used. + */ + textPrompt?: string | null; + /** + * Optional. Defines the prompt used for the system instructions when interacting with the agent in voice conversations. If not set, default prompt will be used. + */ + voicePrompt?: string | null; + } + /** + * Guardrail contains a list of checks and balances to keep the agents safe and secure. + */ + export interface Schema$Guardrail { + /** + * Optional. Action to take when the guardrail is triggered. + */ + action?: Schema$TriggerAction; + /** + * Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution. + */ + codeCallback?: Schema$GuardrailCodeCallback; + /** + * Optional. Guardrail that bans certain content from being used in the conversation. + */ + contentFilter?: Schema$GuardrailContentFilter; + /** + * Output only. Timestamp when the guardrail was created. + */ + createTime?: string | null; + /** + * Optional. Description of the guardrail. + */ + description?: string | null; + /** + * Required. Display name of the guardrail. + */ + displayName?: string | null; + /** + * Optional. Whether the guardrail is enabled. + */ + enabled?: boolean | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + llmPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification. + */ + llmPromptSecurity?: Schema$GuardrailLlmPromptSecurity; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings. + */ + modelSafety?: Schema$GuardrailModelSafety; + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the guardrail was last updated. + */ + updateTime?: string | null; + } + /** + * Guardrail that blocks the conversation based on the code callbacks provided. + */ + export interface Schema$GuardrailCodeCallback { + /** + * Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterModelCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeModelCallback?: Schema$Callback; + } + /** + * Guardrail that bans certain content from being used in the conversation. + */ + export interface Schema$GuardrailContentFilter { + /** + * Optional. List of banned phrases. Applies to both user inputs and agent responses. + */ + bannedContents?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to agent responses. + */ + bannedContentsInAgentResponse?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to user inputs. + */ + bannedContentsInUserInput?: string[] | null; + /** + * Optional. If true, diacritics are ignored during matching. + */ + disregardDiacritics?: boolean | null; + /** + * Required. Match type for the content filter. + */ + matchType?: string | null; + } + /** + * Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + export interface Schema$GuardrailLlmPolicy { + /** + * Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped. + */ + allowShortUtterance?: boolean | null; + /** + * Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail. + */ + failOpen?: boolean | null; + /** + * Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used. + */ + maxConversationMessages?: number | null; + /** + * Optional. Model settings. + */ + modelSettings?: Schema$ModelSettings; + /** + * Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond. + */ + policyScope?: string | null; + /** + * Required. Policy prompt. + */ + prompt?: string | null; + } + /** + * Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification. + */ + export interface Schema$GuardrailLlmPromptSecurity { + /** + * Optional. Use a user-defined LlmPolicy to configure the security guardrail. + */ + customPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response. + */ + defaultSettings?: Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings; + /** + * Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration. + */ + failOpen?: boolean | null; + } + /** + * Configuration for default system security settings. + */ + export interface Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings { + /** + * Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY. + */ + defaultPromptTemplate?: string | null; + } + /** + * Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe. + */ + export interface Schema$GuardrailModelSafety { + /** + * Required. List of safety settings. + */ + safetySettings?: Schema$GuardrailModelSafetySafetySetting[]; + } + /** + * Safety setting. + */ + export interface Schema$GuardrailModelSafetySafetySetting { + /** + * Required. The harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; + } + /** + * Represents an image input or output in the conversation. + */ + export interface Schema$Image { + /** + * Required. Raw bytes of the image. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp + */ + mimeType?: string | null; + } + /** + * Request message for AgentService.ImportApp. + */ + export interface Schema$ImportAppRequest { + /** + * Raw bytes representing the compressed zip file with the app folder structure. + */ + appContent?: string | null; + /** + * Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced. + */ + appId?: string | null; + /** + * Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error. + */ + displayName?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Flag for overriding the app lock during import. If set to true, the import process will ignore the app lock. + */ + ignoreAppLock?: boolean | null; + /** + * Optional. Options governing the import process for the app. + */ + importOptions?: Schema$ImportAppRequestImportOptions; + } + /** + * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. + */ + export interface Schema$ImportAppRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for AgentService.ImportApp. + */ + export interface Schema$ImportAppResponse { + /** + * The resource name of the app that was imported. + */ + name?: string | null; + /** + * Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here. + */ + warnings?: string[] | null; + } + /** + * Represents the metadata of the long-running operation for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * Request message for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsRequest { + /** + * The conversations to import the evaluations from. + */ + conversationList?: Schema$ImportEvaluationsRequestConversationList; + /** + * Raw bytes representing the csv file with the evaluations structure. + */ + csvContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import evaluations. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Options governing the import process for the evaluations. + */ + importOptions?: Schema$ImportEvaluationsRequestImportOptions; + } + /** + * A list of conversation resource names. + */ + export interface Schema$ImportEvaluationsRequestConversationList { + /** + * Optional. Conversation resource names. + */ + conversations?: string[] | null; + } + /** + * Configuration options for the evaluation import process. These options control how the import behaves, particularly when conflicts arise with existing evaluations data. + */ + export interface Schema$ImportEvaluationsRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsResponse { + /** + * Optional. A list of error messages associated with evaluations that failed to be imported. + */ + errorMessages?: string[] | null; + /** + * The list of evaluations that were imported into the app. + */ + evaluations?: Schema$Evaluation[]; + /** + * The number of evaluations that were not imported due to errors. + */ + importFailureCount?: number | null; + } + /** + * InputAudioConfig configures how the CES agent should interpret the incoming audio data. + */ + export interface Schema$InputAudioConfig { + /** + * Required. The encoding of the input audio data. + */ + audioEncoding?: string | null; + /** + * Optional. Whether to enable noise suppression on the input audio. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Required. The sample rate (in Hertz) of the input audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Language settings of the app. + */ + export interface Schema$LanguageSettings { + /** + * Optional. The default language code of the app. + */ + defaultLanguageCode?: string | null; + /** + * Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input. + */ + enableMultilingualSupport?: boolean | null; + /** + * Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation. + */ + fallbackAction?: string | null; + /** + * Optional. List of languages codes supported by the app, in addition to the `default_language_code`. + */ + supportedLanguageCodes?: string[] | null; + } + /** + * Latency report for the evaluation run. + */ + export interface Schema$LatencyReport { + /** + * Output only. Unordered list. Latency metrics for each callback. + */ + callbackLatencies?: Schema$LatencyReportCallbackLatency[]; + /** + * Output only. Unordered list. Latency metrics for each guardrail. + */ + guardrailLatencies?: Schema$LatencyReportGuardrailLatency[]; + /** + * Output only. Unordered list. Latency metrics for each LLM call. + */ + llmCallLatencies?: Schema$LatencyReportLlmCallLatency[]; + /** + * Output only. The total number of sessions considered in the latency report. + */ + sessionCount?: number | null; + /** + * Output only. Unordered list. Latency metrics for each tool. + */ + toolLatencies?: Schema$LatencyReportToolLatency[]; + } + /** + * Latency metrics for a single callback. + */ + export interface Schema$LatencyReportCallbackLatency { + /** + * Output only. The latency metrics for the callback. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. The stage of the callback. + */ + stage?: string | null; + } + /** + * Latency metrics for a single guardrail. + */ + export interface Schema$LatencyReportGuardrailLatency { + /** + * Output only. The name of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}`. + */ + guardrail?: string | null; + /** + * Output only. The display name of the guardrail. + */ + guardrailDisplayName?: string | null; + /** + * Output only. The latency metrics for the guardrail. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + } + /** + * Latency metrics for a component. + */ + export interface Schema$LatencyReportLatencyMetrics { + /** + * Output only. The number of times the resource was called. + */ + callCount?: number | null; + /** + * Output only. The 50th percentile latency. + */ + p50Latency?: string | null; + /** + * Output only. The 90th percentile latency. + */ + p90Latency?: string | null; + /** + * Output only. The 99th percentile latency. + */ + p99Latency?: string | null; + } + /** + * Latency metrics for a single LLM call. + */ + export interface Schema$LatencyReportLlmCallLatency { + /** + * Output only. The latency metrics for the LLM call. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. The name of the model. + */ + model?: string | null; + } + /** + * Latency metrics for a single tool. + */ + export interface Schema$LatencyReportToolLatency { + /** + * Output only. The latency metrics for the tool. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}`. + */ + tool?: string | null; + /** + * Output only. The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * Output only. The toolset tool identifier. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for AgentService.ListAgents. + */ + export interface Schema$ListAgentsResponse { + /** + * The list of agents. + */ + agents?: Schema$Agent[]; + /** + * A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListApps. + */ + export interface Schema$ListAppsResponse { + /** + * The list of apps. + */ + apps?: Schema$App[]; + /** + * A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for AgentService.ListAppVersions. + */ + export interface Schema$ListAppVersionsResponse { + /** + * The list of app versions. + */ + appVersions?: Schema$AppVersion[]; + /** + * A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListChangelogs. + */ + export interface Schema$ListChangelogsResponse { + /** + * The list of changelogs. + */ + changelogs?: Schema$Changelog[]; + /** + * A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListConversations. + */ + export interface Schema$ListConversationsResponse { + /** + * The list of conversations. + */ + conversations?: Schema$Conversation[]; + /** + * A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListDeployments. + */ + export interface Schema$ListDeploymentsResponse { + /** + * The list of deployments. + */ + deployments?: Schema$Deployment[]; + /** + * 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 EvaluationService.ListEvaluationDatasets. + */ + export interface Schema$ListEvaluationDatasetsResponse { + /** + * The list of evaluation datasets. + */ + evaluationDatasets?: Schema$EvaluationDataset[]; + /** + * A token that can be sent as ListEvaluationDatasetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationExpectations. + */ + export interface Schema$ListEvaluationExpectationsResponse { + /** + * The list of evaluation expectations. + */ + evaluationExpectations?: Schema$EvaluationExpectation[]; + /** + * A token that can be sent as ListEvaluationExpectationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationResults. + */ + export interface Schema$ListEvaluationResultsResponse { + /** + * The list of evaluation results. + */ + evaluationResults?: Schema$EvaluationResult[]; + /** + * A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationRuns. + */ + export interface Schema$ListEvaluationRunsResponse { + /** + * The list of evaluation runs. + */ + evaluationRuns?: Schema$EvaluationRun[]; + /** + * A token that can be sent as ListEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluations. + */ + export interface Schema$ListEvaluationsResponse { + /** + * The list of evaluations. + */ + evaluations?: Schema$Evaluation[]; + /** + * A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListExamples. + */ + export interface Schema$ListExamplesResponse { + /** + * The list of examples. + */ + examples?: Schema$Example[]; + /** + * A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListGuardrails. + */ + export interface Schema$ListGuardrailsResponse { + /** + * The list of guardrails. + */ + guardrails?: Schema$Guardrail[]; + /** + * A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | 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 EvaluationService.ListScheduledEvaluationRuns. + */ + export interface Schema$ListScheduledEvaluationRunsResponse { + /** + * A token that can be sent as ListScheduledEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of scheduled evaluation runs. + */ + scheduledEvaluationRuns?: Schema$ScheduledEvaluationRun[]; + } + /** + * Response message for AgentService.ListToolsets. + */ + export interface Schema$ListToolsetsResponse { + /** + * A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of toolsets. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Response message for AgentService.ListTools. + */ + export interface Schema$ListToolsResponse { + /** + * A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of tools. + */ + tools?: Schema$Tool[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Settings to describe the logging behaviors for the app. + */ + export interface Schema$LoggingSettings { + /** + * Optional. Configuration for how audio interactions should be recorded. + */ + audioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + */ + bigqueryExportSettings?: Schema$BigQueryExportSettings; + /** + * Optional. Settings to describe the Cloud Logging behaviors for the app. + */ + cloudLoggingSettings?: Schema$CloudLoggingSettings; + /** + * Optional. Settings to describe the conversation logging behaviors for the app. + */ + conversationLoggingSettings?: Schema$ConversationLoggingSettings; + /** + * Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions. + */ + evaluationAudioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app. + */ + metricAnalysisSettings?: Schema$MetricAnalysisSettings; + /** + * Optional. Configuration for how sensitive data should be redacted. + */ + redactionConfig?: Schema$RedactionConfig; + } + /** + * An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details. + */ + export interface Schema$McpTool { + /** + * Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the MCP tool. + */ + description?: string | null; + /** + * Optional. The schema of the input arguments of the MCP tool. + */ + inputSchema?: Schema$Schema; + /** + * Required. The name of the MCP tool. + */ + name?: string | null; + /** + * Optional. The schema of the output arguments of the MCP tool. + */ + outputSchema?: Schema$Schema; + /** + * Required. The server address of the MCP server, e.g., "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A toolset that contains a list of tools that are offered by the MCP server. + */ + export interface Schema$McpToolset { + /** + * Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Required. The address of the MCP server, for example, "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A message within a conversation. + */ + export interface Schema$Message { + /** + * Optional. Content of the message as a series of chunks. + */ + chunks?: Schema$Chunk[]; + /** + * Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example. + */ + eventTime?: string | null; + /** + * Optional. The role within the conversation, e.g., user, agent. + */ + role?: string | null; + } + /** + * Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline. + */ + export interface Schema$MetricAnalysisSettings { + /** + * Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected. + */ + llmMetricsOptedOut?: boolean | null; + } + /** + * Model settings contains various configurations for the LLM model. + */ + export interface Schema$ModelSettings { + /** + * Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent. + */ + model?: string | null; + /** + * Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative. + */ + temperature?: number | null; + } + /** + * Configurations for authentication with OAuth. + */ + export interface Schema$OAuthConfig { + /** + * Required. The client ID from the OAuth provider. + */ + clientId?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + clientSecretVersion?: string | null; + /** + * Required. OAuth grant types. + */ + oauthGrantType?: string | null; + /** + * Optional. The OAuth scopes to grant. + */ + scopes?: string[] | null; + /** + * Required. The token endpoint in the OAuth provider to exchange for an access token. + */ + tokenEndpoint?: string | null; + } + /** + * Represents an Omnichannel resource. + */ + export interface Schema$Omnichannel { + /** + * Output only. Timestamp when the omnichannel resource was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the omnichannel resource. + */ + description?: string | null; + /** + * Required. Display name of the omnichannel resource. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. + */ + etag?: string | null; + /** + * Optional. The integration config for the omnichannel resource. + */ + integrationConfig?: Schema$OmnichannelIntegrationConfig; + /** + * Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project\}/locations/{location\}/omnichannels/{omnichannel\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the omnichannel resource was last updated. + */ + updateTime?: string | null; + } + /** + * OmnichannelIntegrationConfig contains all App integration configs. + */ + export interface Schema$OmnichannelIntegrationConfig { + /** + * Optional. Various of configuration for handling App events. + */ + channelConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigChannelConfig; + } | null; + /** + * Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key. + */ + routingConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigRoutingConfig; + } | null; + /** + * Optional. Various of subscribers configs. + */ + subscriberConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigSubscriberConfig; + } | null; + } + /** + * Configs for CES app. + */ + export interface Schema$OmnichannelIntegrationConfigCesAppConfig { + /** + * The unique identifier of the CES app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + } + /** + * ChannelConfig contains config for various of app integration. + */ + export interface Schema$OmnichannelIntegrationConfigChannelConfig { + /** + * WhatsApp config. + */ + whatsappConfig?: Schema$OmnichannelIntegrationConfigWhatsappConfig; + } + /** + * Routing config specify how/who to route app events to a subscriber. + */ + export interface Schema$OmnichannelIntegrationConfigRoutingConfig { + /** + * The key of the subscriber. + */ + subscriberKey?: string | null; + } + /** + * Configs of subscribers. + */ + export interface Schema$OmnichannelIntegrationConfigSubscriberConfig { + /** + * Ces app config. + */ + cesAppConfig?: Schema$OmnichannelIntegrationConfigCesAppConfig; + } + /** + * How Omnichannel should receive/reply events from WhatsApp. + */ + export interface Schema$OmnichannelIntegrationConfigWhatsappConfig { + /** + * The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657 + */ + metaBusinessPortfolioId?: string | null; + /** + * The phone number used for sending/receiving messages. + */ + phoneNumber?: string | null; + /** + * The Phone Number ID associated with the WhatsApp Business Account. + */ + phoneNumberId?: string | null; + /** + * The verify token configured in the Meta App Dashboard for webhook verification. + */ + webhookVerifyToken?: string | null; + /** + * The customer's WhatsApp Business Account (WABA) ID. + */ + whatsappBusinessAccountId?: string | null; + /** + * The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens + */ + whatsappBusinessToken?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OmnichannelOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * A remote API tool defined by an OpenAPI schema. + */ + export interface Schema$OpenApiTool { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`. + */ + description?: string | null; + /** + * Optional. If true, the agent will ignore unknown fields in the API response. + */ + ignoreUnknownFields?: boolean | null; + /** + * Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`. + */ + name?: string | null; + /** + * Required. The OpenAPI schema in JSON or YAML format. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client will trust. + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + export interface Schema$OpenApiToolset { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema. + */ + ignoreUnknownFields?: boolean | null; + /** + * Required. The OpenAPI schema of the toolset. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: 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; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * Configuration for running the optimization step after the evaluation run. + */ + export interface Schema$OptimizationConfig { + /** + * Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/assistantSessions/{assistantSession\}` + */ + assistantSession?: string | null; + /** + * Output only. The error message if the optimization run failed. + */ + errorMessage?: string | null; + /** + * Optional. Whether to generate a loss report. + */ + generateLossReport?: boolean | null; + /** + * Output only. The generated loss report. + */ + lossReport?: {[key: string]: any} | null; + /** + * Output only. The summary of the loss report. + */ + reportSummary?: string | null; + /** + * Output only. Whether to suggest a fix for the losses. + */ + shouldSuggestFix?: boolean | null; + /** + * Output only. The status of the optimization run. + */ + status?: string | null; + } + /** + * OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses. + */ + export interface Schema$OutputAudioConfig { + /** + * Required. The encoding of the output audio data. + */ + audioEncoding?: string | null; + /** + * Required. The sample rate (in Hertz) of the output audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Configuration for running an evaluation for a specific persona. + */ + export interface Schema$PersonaRunConfig { + /** + * Optional. The persona to use for the evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationPersonas/{evaluationPersona\}` + */ + persona?: string | null; + /** + * Optional. The number of tasks to run for the persona. + */ + taskCount?: number | null; + } + /** + * Python code block to evaluate the condition. + */ + export interface Schema$PythonCodeCondition { + /** + * Required. The python code to execute. + */ + pythonCode?: string | null; + } + /** + * A Python function tool. + */ + export interface Schema$PythonFunction { + /** + * Output only. The description of the Python function, parsed from the python code's docstring. + */ + description?: string | null; + /** + * Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. + */ + name?: string | null; + /** + * Optional. The Python code to execute for the tool. + */ + pythonCode?: string | null; + } + /** + * Configuration to instruct how sensitive data should be handled. + */ + export interface Schema$RedactionConfig { + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project\}/locations/{location\}/deidentifyTemplates/{deidentify_template\}` + */ + deidentifyTemplate?: string | null; + /** + * Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. + */ + enableRedaction?: boolean | null; + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{inspect_template\}` + */ + inspectTemplate?: string | null; + } + /** + * Request message for AgentService.RestoreAppVersion + */ + export interface Schema$RestoreAppVersionRequest {} + /** + * Request message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaRequest { + /** + * Optional. The name of the tool to retrieve the schema for. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaResponse { + /** + * Required. The schema of the tool input parameters. + */ + inputSchema?: Schema$Schema; + /** + * Required. The schema of the tool output parameters. + */ + outputSchema?: Schema$Schema; + /** + * The name of the tool that the schema is for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that the schema is for. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsRequest { + /** + * Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. + */ + toolIds?: string[] | null; + } + /** + * Response message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsResponse { + /** + * Required. The list of tools that are included in the specified toolset. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for EvaluationService.RunEvaluation. + */ + export interface Schema$RunEvaluationRequest { + /** + * Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + /** + * Optional. The app version to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Optional. The configuration to use for the run. + */ + config?: Schema$EvaluationConfig; + /** + * Optional. The display name of the evaluation run. + */ + displayName?: string | null; + /** + * Optional. An evaluation dataset to run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDataset?: string | null; + /** + * Optional. List of evaluations to run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + evaluations?: string[] | null; + /** + * Optional. Whether to generate a latency report for the evaluation run. + */ + generateLatencyReport?: boolean | null; + /** + * Optional. The method to run the evaluation if it is a golden evaluation. If not set, default to STABLE. + */ + goldenRunMethod?: string | null; + /** + * Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. + */ + optimizationConfig?: Schema$OptimizationConfig; + /** + * Optional. The configuration to use for the run per persona. + */ + personaRunConfigs?: Schema$PersonaRunConfig[]; + /** + * Optional. The number of times to run the evaluation. If not set, the default value is 1 per golden, and 5 per scenario. + */ + runCount?: number | null; + /** + * Optional. The resource name of the `ScheduledEvaluationRun` that is triggering this evaluation run. If this field is set, the `scheduled_evaluation_run` field on the created `EvaluationRun` resource will be populated from this value. Format: `projects/{project\}/locations/{location\}/apps/{app\}/scheduledEvaluationRuns/{scheduled_evaluation_run\}` + */ + scheduledEvaluationRun?: string | null; + } + /** + * Request message for SessionService.RunSession. + */ + export interface Schema$RunSessionRequest { + /** + * Required. The configuration for the session. + */ + config?: Schema$SessionConfig; + /** + * Required. Inputs for the session. + */ + inputs?: Schema$SessionInput[]; + } + /** + * Response message for SessionService.RunSession. + */ + export interface Schema$RunSessionResponse { + /** + * Outputs for the session. + */ + outputs?: Schema$SessionOutput[]; + } + /** + * Represents a scheduled evaluation run configuration. + */ + export interface Schema$ScheduledEvaluationRun { + /** + * Optional. Whether this config is active + */ + active?: boolean | null; + /** + * Output only. The user who created the scheduled evaluation run. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the scheduled evaluation run was created. + */ + createTime?: string | null; + /** + * Optional. User-defined description of the scheduled evaluation run. + */ + description?: string | null; + /** + * Required. User-defined display name of the scheduled evaluation run config. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The last successful EvaluationRun of this scheduled execution. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + lastCompletedRun?: string | null; + /** + * Output only. The user who last updated the evaluation. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + */ + name?: string | null; + /** + * Output only. The next time this is scheduled to execute + */ + nextScheduledExecutionTime?: string | null; + /** + * Required. The RunEvaluationRequest to schedule + */ + request?: Schema$RunEvaluationRequest; + /** + * Required. Configuration for the timing and frequency with which to execute the evaluations. + */ + schedulingConfig?: Schema$ScheduledEvaluationRunSchedulingConfig; + /** + * Output only. The total number of times this run has been executed + */ + totalExecutions?: number | null; + /** + * Output only. Timestamp when the evaluation was last updated. + */ + updateTime?: string | null; + } + /** + * Eval scheduling configuration details + */ + export interface Schema$ScheduledEvaluationRunSchedulingConfig { + /** + * Optional. The days of the week to run the eval. Applicable only for Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is Sunday. + */ + daysOfWeek?: number[] | null; + /** + * Required. The frequency with which to run the eval + */ + frequency?: string | null; + /** + * Required. Timestamp when the eval should start. + */ + startTime?: string | null; + } + /** + * Represents a select subset of an OpenAPI 3.0 schema object. + */ + export interface Schema$Schema { + /** + * Optional. Can either be a boolean or an object, controls the presence of additional properties. + */ + additionalProperties?: Schema$Schema; + /** + * Optional. The value should be validated against any (one or more) of the subschemas in the list. + */ + anyOf?: Schema$Schema[]; + /** + * Optional. Default value of the data. + */ + default?: any | null; + /** + * Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + */ + defs?: {[key: string]: Schema$Schema} | null; + /** + * Optional. The description of the data. + */ + description?: string | null; + /** + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} + */ + enum?: string[] | null; + /** + * Optional. Schema of the elements of Type.ARRAY. + */ + items?: Schema$Schema; + /** + * Optional. Maximum value for Type.INTEGER and Type.NUMBER. + */ + maximum?: number | null; + /** + * Optional. Maximum number of the elements for Type.ARRAY. + */ + maxItems?: string | null; + /** + * Optional. Minimum value for Type.INTEGER and Type.NUMBER. + */ + minimum?: number | null; + /** + * Optional. Minimum number of the elements for Type.ARRAY. + */ + minItems?: string | null; + /** + * Optional. Indicates if the value may be null. + */ + nullable?: boolean | null; + /** + * Optional. Schemas of initial elements of Type.ARRAY. + */ + prefixItems?: Schema$Schema[]; + /** + * Optional. Properties of Type.OBJECT. + */ + properties?: {[key: string]: Schema$Schema} | null; + /** + * Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + */ + ref?: string | null; + /** + * Optional. Required properties of Type.OBJECT. + */ + required?: string[] | null; + /** + * Optional. The title of the schema. + */ + title?: string | null; + /** + * Required. The type of the data. + */ + type?: string | null; + /** + * Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + */ + uniqueItems?: boolean | null; + } + /** + * Configurations for authentication using a custom service account. + */ + export interface Schema$ServiceAccountAuthConfig { + /** + * Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used. + */ + scopes?: string[] | null; + /** + * Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + serviceAccount?: string | null; + } + /** + * Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. + */ + export interface Schema$ServiceAgentIdTokenAuthConfig {} + /** + * Configuration for tools using Service Directory. + */ + export interface Schema$ServiceDirectoryConfig { + /** + * Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project\}/locations/{location\}/namespaces/{namespace\}/services/{service\}`. Location of the service directory must be the same as the location of the app. + */ + service?: string | null; + } + /** + * The configuration for the session. + */ + export interface Schema$SessionConfig { + /** + * Optional. The deployment of the app to use for the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state. + */ + historicalContexts?: Schema$Message[]; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + remoteDialogflowQueryParameters?: Schema$SessionConfigRemoteDialogflowQueryParameters; + /** + * Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. "America/Los_Angeles". + */ + timeZone?: string | null; + } + /** + * [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + export interface Schema$SessionConfigRemoteDialogflowQueryParameters { + /** + * Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + payload?: {[key: string]: any} | null; + /** + * Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + webhookHeaders?: {[key: string]: string} | null; + } + /** + * Input for the session. + */ + export interface Schema$SessionInput { + /** + * Optional. Audio data from the end user. + */ + audio?: string | null; + /** + * Optional. Blob data from the end user. + */ + blob?: Schema$Blob; + /** + * Optional. DTMF digits from the end user. + */ + dtmf?: string | null; + /** + * Optional. Event input. + */ + event?: Schema$Event; + /** + * Optional. Image data from the end user. + */ + image?: Schema$Image; + /** + * Optional. Text data from the end user. + */ + text?: string | null; + /** + * Optional. Execution results for the tool calls from the client. + */ + toolResponses?: Schema$ToolResponses; + /** + * Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters. + */ + variables?: {[key: string]: any} | null; + /** + * Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time. + */ + willContinue?: boolean | null; + } + /** + * Output for the session. + */ + export interface Schema$SessionOutput { + /** + * Output audio from the CES agent. + */ + audio?: string | null; + /** + * Citations that provide the source information for the agent's generated text. + */ + citations?: Schema$Citations; + /** + * Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn. + */ + diagnosticInfo?: Schema$SessionOutputDiagnosticInfo; + /** + * Indicates the session has ended. + */ + endSession?: Schema$EndSession; + /** + * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. + */ + googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Custom payload with structured output from the CES agent. + */ + payload?: {[key: string]: any} | null; + /** + * Output text from the CES agent. + */ + text?: string | null; + /** + * Request for the client to execute the tools. + */ + toolCalls?: Schema$ToolCalls; + /** + * If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn. + */ + turnCompleted?: boolean | null; + /** + * Indicates the sequential order of conversation turn to which this output belongs to, starting from 1. + */ + turnIndex?: number | null; + } + /** + * Contains execution details during the processing. + */ + export interface Schema$SessionOutputDiagnosticInfo { + /** + * List of the messages that happened during the processing. + */ + messages?: Schema$Message[]; + /** + * A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations. + */ + rootSpan?: Schema$Span; + } + /** + * A span is a unit of work or a single operation during the request processing. + */ + export interface Schema$Span { + /** + * Output only. Key-value attributes associated with the span. + */ + attributes?: {[key: string]: any} | null; + /** + * Output only. The child spans that are nested under this span. + */ + childSpans?: Schema$Span[]; + /** + * Output only. The duration of the span. + */ + duration?: string | null; + /** + * Output only. The end time of the span. + */ + endTime?: string | null; + /** + * Output only. The name of the span. + */ + name?: string | null; + /** + * Output only. The start time of the span. + */ + startTime?: 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; + } + /** + * Configuration for how the agent response should be synthesized. + */ + export interface Schema$SynthesizeSpeechConfig { + /** + * Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. + */ + speakingRate?: number | null; + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech. + */ + voice?: string | null; + } + /** + * Pre-defined system tool. + */ + export interface Schema$SystemTool { + /** + * Output only. The description of the system tool. + */ + description?: string | null; + /** + * Required. The name of the system tool. + */ + name?: string | null; + } + /** + * Request message for EvaluationService.TestPersonaVoice. + */ + export interface Schema$TestPersonaVoiceRequest { + /** + * Required. The persona ID to test the voice for. Also accepts "default". + */ + personaId?: string | null; + /** + * Required. The text to test the voice for. + */ + text?: string | null; + } + /** + * Response message for EvaluationService.TestPersonaVoice. + */ + export interface Schema$TestPersonaVoiceResponse { + /** + * The audio data bytes of the synthesized voice. + */ + audio?: string | null; + } + /** + * TimeZone settings of the app. + */ + export interface Schema$TimeZoneSettings { + /** + * Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris. + */ + timeZone?: string | null; + } + /** + * The TLS configuration. + */ + export interface Schema$TlsConfig { + /** + * Required. Specifies a list of allowed custom CA certificates for HTTPS verification. + */ + caCerts?: Schema$TlsConfigCaCert[]; + } + /** + * The CA certificate. + */ + export interface Schema$TlsConfigCaCert { + /** + * Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + */ + cert?: string | null; + /** + * Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates. + */ + displayName?: string | null; + } + /** + * A tool represents an action that the CES agent can take to achieve certain goals. + */ + export interface Schema$Tool { + /** + * Optional. The client function. + */ + clientFunction?: Schema$ClientFunction; + /** + * Optional. The Integration Connector tool. + */ + connectorTool?: Schema$ConnectorTool; + /** + * Output only. Timestamp when the tool was created. + */ + createTime?: string | null; + /** + * Optional. The data store tool. + */ + dataStoreTool?: Schema$DataStoreTool; + /** + * Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tool. + */ + executionType?: string | null; + /** + * Optional. The file search tool. + */ + fileSearchTool?: Schema$FileSearchTool; + /** + * Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. The google search tool. + */ + googleSearchTool?: Schema$GoogleSearchTool; + /** + * Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset. + */ + mcpTool?: Schema$McpTool; + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string | null; + /** + * Optional. The open API tool. + */ + openApiTool?: Schema$OpenApiTool; + /** + * Optional. The python function tool. + */ + pythonFunction?: Schema$PythonFunction; + /** + * Optional. The system tool. + */ + systemTool?: Schema$SystemTool; + /** + * Optional. Configuration for tool behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the tool was last updated. + */ + updateTime?: string | null; + /** + * Optional. The widget tool. + */ + widgetTool?: Schema$WidgetTool; + } + /** + * Request for the client or the agent to execute the specified tool. + */ + export interface Schema$ToolCall { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. + */ + id?: string | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request for the client to execute the tools and return the execution results before continuing the session. + */ + export interface Schema$ToolCalls { + /** + * Optional. The list of tool calls to execute. + */ + toolCalls?: Schema$ToolCall[]; + } + /** + * Configuration for tool behavior in fake mode. + */ + export interface Schema$ToolFakeConfig { + /** + * Optional. Code block which will be executed instead of a real tool call. + */ + codeBlock?: Schema$CodeBlock; + /** + * Optional. Whether the tool is using fake mode. + */ + enableFakeMode?: boolean | null; + } + /** + * The execution result of a specific tool from the client or the agent. + */ + export interface Schema$ToolResponse { + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The matching ID of the tool call the response is for. + */ + id?: string | null; + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Execution results for the requested tool calls from the client. + */ + export interface Schema$ToolResponses { + /** + * Optional. The list of tool execution results. + */ + toolResponses?: Schema$ToolResponse[]; + } + /** + * A toolset represents a group of dynamically managed tools that can be used by the agent. + */ + export interface Schema$Toolset { + /** + * Optional. A toolset that generates tools from an Integration Connectors Connection. + */ + connectorToolset?: Schema$ConnectorToolset; + /** + * Output only. Timestamp when the toolset was created. + */ + createTime?: string | null; + /** + * Optional. The description of the toolset. + */ + description?: string | null; + /** + * Optional. The display name of the toolset. Must be unique within the same app. + */ + displayName?: string | null; + /** + * ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tools in the toolset. + */ + executionType?: string | null; + /** + * Optional. A toolset that contains a list of tools that are offered by the MCP server. + */ + mcpToolset?: Schema$McpToolset; + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string | null; + /** + * Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + openApiToolset?: Schema$OpenApiToolset; + /** + * Optional. Configuration for tools behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the toolset was last updated. + */ + updateTime?: string | null; + } + /** + * A tool that is created from a toolset. + */ + export interface Schema$ToolsetTool { + /** + * Optional. The tool ID to filter the tools to retrieve the schema for. + */ + toolId?: string | null; + /** + * Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Rule for transferring to a specific agent. + */ + export interface Schema$TransferRule { + /** + * Required. The resource name of the child agent the rule applies to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgent?: string | null; + /** + * Optional. A rule that immediately transfers to the target agent when the condition is met. + */ + deterministicTransfer?: Schema$TransferRuleDeterministicTransfer; + /** + * Required. The direction of the transfer. + */ + direction?: string | null; + /** + * Optional. Rule that prevents the planner from transferring to the target agent. + */ + disablePlannerTransfer?: Schema$TransferRuleDisablePlannerTransfer; + } + /** + * Deterministic transfer rule. When the condition evaluates to true, the transfer occurs. + */ + export interface Schema$TransferRuleDeterministicTransfer { + /** + * Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs. + */ + expressionCondition?: Schema$ExpressionCondition; + /** + * Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs. + */ + pythonCodeCondition?: Schema$PythonCodeCondition; + } + /** + * A rule that prevents the planner from transferring to the target agent. + */ + export interface Schema$TransferRuleDisablePlannerTransfer { + /** + * Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent. + */ + expressionCondition?: Schema$ExpressionCondition; + } + /** + * Action that is taken when a certain precondition is met. + */ + export interface Schema$TriggerAction { + /** + * Optional. Respond with a generative answer. + */ + generativeAnswer?: Schema$TriggerActionGenerativeAnswer; + /** + * Optional. Immediately respond with a preconfigured response. + */ + respondImmediately?: Schema$TriggerActionRespondImmediately; + /** + * Optional. Transfer the conversation to a different agent. + */ + transferAgent?: Schema$TriggerActionTransferAgent; + } + /** + * The agent will immediately respond with a generative answer. + */ + export interface Schema$TriggerActionGenerativeAnswer { + /** + * Required. The prompt to use for the generative answer. + */ + prompt?: string | null; + } + /** + * The agent will immediately respond with a preconfigured response. + */ + export interface Schema$TriggerActionRespondImmediately { + /** + * Required. The canned responses for the agent to choose from. The response is chosen randomly. + */ + responses?: Schema$TriggerActionResponse[]; + } + /** + * Represents a response from the agent. + */ + export interface Schema$TriggerActionResponse { + /** + * Optional. Whether the response is disabled. Disabled responses are not used by the agent. + */ + disabled?: boolean | null; + /** + * Required. Text for the agent to respond with. + */ + text?: string | null; + } + /** + * The agent will transfer the conversation to a different agent. + */ + export interface Schema$TriggerActionTransferAgent { + /** + * Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + agent?: string | null; + } + /** + * Represents a single web search query and its associated search uri. + */ + export interface Schema$WebSearchQuery { + /** + * The search query text. + */ + query?: string | null; + /** + * The URI to the Google Search results page for the query. + */ + uri?: string | null; + } + /** + * Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent. + */ + export interface Schema$WidgetTool { + /** + * Optional. The description of the widget tool. + */ + description?: string | null; + /** + * Required. The display name of the widget tool. + */ + name?: string | null; + /** + * Optional. The input parameters of the widget tool. + */ + parameters?: Schema$Schema; + /** + * Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED. + */ + widgetType?: string | null; + } + + 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; + apps: Resource$Projects$Locations$Apps; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.apps = new Resource$Projects$Locations$Apps(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.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. + * 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 + * // { + * // "locations": [], + * // "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$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/locations').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); + } + } + } + + 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. It is unsupported and is ignored 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$Apps { + context: APIRequestContext; + agents: Resource$Projects$Locations$Apps$Agents; + changelogs: Resource$Projects$Locations$Apps$Changelogs; + conversations: Resource$Projects$Locations$Apps$Conversations; + deployments: Resource$Projects$Locations$Apps$Deployments; + evaluationDatasets: Resource$Projects$Locations$Apps$Evaluationdatasets; + evaluationExpectations: Resource$Projects$Locations$Apps$Evaluationexpectations; + evaluationRuns: Resource$Projects$Locations$Apps$Evaluationruns; + evaluations: Resource$Projects$Locations$Apps$Evaluations; + examples: Resource$Projects$Locations$Apps$Examples; + guardrails: Resource$Projects$Locations$Apps$Guardrails; + scheduledEvaluationRuns: Resource$Projects$Locations$Apps$Scheduledevaluationruns; + sessions: Resource$Projects$Locations$Apps$Sessions; + tools: Resource$Projects$Locations$Apps$Tools; + toolsets: Resource$Projects$Locations$Apps$Toolsets; + versions: Resource$Projects$Locations$Apps$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.agents = new Resource$Projects$Locations$Apps$Agents(this.context); + this.changelogs = new Resource$Projects$Locations$Apps$Changelogs( + this.context + ); + this.conversations = new Resource$Projects$Locations$Apps$Conversations( + this.context + ); + this.deployments = new Resource$Projects$Locations$Apps$Deployments( + this.context + ); + this.evaluationDatasets = + new Resource$Projects$Locations$Apps$Evaluationdatasets(this.context); + this.evaluationExpectations = + new Resource$Projects$Locations$Apps$Evaluationexpectations( + this.context + ); + this.evaluationRuns = new Resource$Projects$Locations$Apps$Evaluationruns( + this.context + ); + this.evaluations = new Resource$Projects$Locations$Apps$Evaluations( + this.context + ); + this.examples = new Resource$Projects$Locations$Apps$Examples( + this.context + ); + this.guardrails = new Resource$Projects$Locations$Apps$Guardrails( + this.context + ); + this.scheduledEvaluationRuns = + new Resource$Projects$Locations$Apps$Scheduledevaluationruns( + this.context + ); + this.sessions = new Resource$Projects$Locations$Apps$Sessions( + this.context + ); + this.tools = new Resource$Projects$Locations$Apps$Tools(this.context); + this.toolsets = new Resource$Projects$Locations$Apps$Toolsets( + this.context + ); + this.versions = new Resource$Projects$Locations$Apps$Versions( + this.context + ); + } + + /** + * Creates a new app in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.create({ + * // Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + * appId: 'placeholder-value', + * // Required. The resource name of the location to create an app in. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * 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$Apps$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps').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 the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.delete({ + * // Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * 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$Apps$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Executes the given tool with the given arguments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.executeTool({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "args": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "response": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions + ): Promise>; + executeTool( + params?: Params$Resource$Projects$Locations$Apps$Executetool, + options?: MethodOptions + ): Promise>; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + callback: BodyResponseCallback + ): void; + executeTool( + callback: BodyResponseCallback + ): void; + executeTool( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Executetool + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Executetool; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Executetool; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:executeTool').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); + } + } + + /** + * Exports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.exportApp({ + * // Required. The resource name of the app to export. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "exportFormat": "my_exportFormat", + * // "gcsUri": "my_gcsUri" + * // } + * }, + * }); + * 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. + */ + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions + ): Promise>; + exportApp( + params?: Params$Resource$Projects$Locations$Apps$Exportapp, + options?: MethodOptions + ): Promise>; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + callback: BodyResponseCallback + ): void; + exportApp(callback: BodyResponseCallback): void; + exportApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Exportapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Exportapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Exportapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:exportApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.get({ + * // Required. The resource name of the app to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Imports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.importApp({ + * // Required. The parent resource name with the location of the app to import. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appContent": "my_appContent", + * // "appId": "my_appId", + * // "displayName": "my_displayName", + * // "gcsUri": "my_gcsUri", + * // "ignoreAppLock": false, + * // "importOptions": {} + * // } + * }, + * }); + * 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. + */ + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions + ): Promise>; + importApp( + params?: Params$Resource$Projects$Locations$Apps$Importapp, + options?: MethodOptions + ): Promise>; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + callback: BodyResponseCallback + ): void; + importApp(callback: BodyResponseCallback): void; + importApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Importapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps:importApp').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); + } + } + + /** + * Imports evaluations into the app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.importEvaluations({ + * // Required. The app to import the evaluations into. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversationList": {}, + * // "csvContent": "my_csvContent", + * // "gcsUri": "my_gcsUri", + * // "importOptions": {} + * // } + * }, + * }); + * 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. + */ + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: StreamMethodOptions + ): Promise>; + importEvaluations( + params?: Params$Resource$Projects$Locations$Apps$Importevaluations, + options?: MethodOptions + ): Promise>; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + callback: BodyResponseCallback + ): void; + importEvaluations(callback: BodyResponseCallback): void; + importEvaluations( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importevaluations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importevaluations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Importevaluations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:importEvaluations').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); + } + } + + /** + * Lists apps in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.list({ + * // Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListApps call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the location to list apps from. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apps": [], + * // "nextPageToken": "my_nextPageToken", + * // "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$Apps$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps').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); + } + } + + /** + * Updates the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.patch({ + * // Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * name: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.retrieveToolSchema({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inputSchema": {}, + * // "outputSchema": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions + ): Promise>; + retrieveToolSchema( + params?: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options?: MethodOptions + ): Promise>; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Retrievetoolschema + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:retrieveToolSchema').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); + } + } + + /** + * Runs an evaluation of the app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.runEvaluation({ + * // Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * app: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "app": "my_app", + * // "appVersion": "my_appVersion", + * // "config": {}, + * // "displayName": "my_displayName", + * // "evaluationDataset": "my_evaluationDataset", + * // "evaluations": [], + * // "generateLatencyReport": false, + * // "goldenRunMethod": "my_goldenRunMethod", + * // "optimizationConfig": {}, + * // "personaRunConfigs": [], + * // "runCount": 0, + * // "scheduledEvaluationRun": "my_scheduledEvaluationRun" + * // } + * }, + * }); + * 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. + */ + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: StreamMethodOptions + ): Promise>; + runEvaluation( + params?: Params$Resource$Projects$Locations$Apps$Runevaluation, + options?: MethodOptions + ): Promise>; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + callback: BodyResponseCallback + ): void; + runEvaluation(callback: BodyResponseCallback): void; + runEvaluation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Runevaluation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Runevaluation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Runevaluation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+app}:runEvaluation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Tests the voice of a persona. Also accepts a default persona. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.testPersonaVoice({ + * // Required. the resource name of the app to test the persona voice for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * app: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "personaId": "my_personaId", + * // "text": "my_text" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audio": "my_audio" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: StreamMethodOptions + ): Promise>; + testPersonaVoice( + params?: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options?: MethodOptions + ): Promise>; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + callback: BodyResponseCallback + ): void; + testPersonaVoice( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Testpersonavoice + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Testpersonavoice; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Testpersonavoice; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+app}:testPersonaVoice').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Create extends StandardParameters { + /** + * Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + */ + appId?: string; + /** + * Required. The resource name of the location to create an app in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Delete extends StandardParameters { + /** + * Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Executetool extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteToolRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Exportapp extends StandardParameters { + /** + * Required. The resource name of the app to export. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Get extends StandardParameters { + /** + * Required. The resource name of the app to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Importapp extends StandardParameters { + /** + * Required. The parent resource name with the location of the app to import. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Importevaluations extends StandardParameters { + /** + * Required. The app to import the evaluations into. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportEvaluationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + */ + pageToken?: string; + /** + * Required. The resource name of the location to list apps from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Retrievetoolschema extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolSchemaRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Runevaluation extends StandardParameters { + /** + * Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunEvaluationRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Testpersonavoice extends StandardParameters { + /** + * Required. the resource name of the app to test the persona voice for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPersonaVoiceRequest; + } + + export class Resource$Projects$Locations$Apps$Agents { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new agent in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.agents.create({ + * // Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + * agentId: 'placeholder-value', + * // Required. The resource name of the app to create an agent in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Agents$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/agents').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 the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.agents.delete({ + * // Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + * force: 'placeholder-value', + * // Required. The resource name of the agent to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * 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$Apps$Agents$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.agents.get({ + * // Required. The resource name of the agent to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Agents$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 agents in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.agents.list({ + * // Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListAgents call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list agents from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "agents": [], + * // "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$Apps$Agents$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Agents$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/agents').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); + } + } + + /** + * Updates the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.agents.patch({ + * // Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "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$Apps$Agents$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Agents$Create extends StandardParameters { + /** + * Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + */ + agentId?: string; + /** + * Required. The resource name of the app to create an agent in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Delete extends StandardParameters { + /** + * Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + */ + force?: boolean; + /** + * Required. The resource name of the agent to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Get extends StandardParameters { + /** + * Required. The resource name of the agent to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list agents from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + + export class Resource$Projects$Locations$Apps$Changelogs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the specified changelog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.changelogs.get({ + * // Required. The resource name of the changelog to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/changelogs/my-changelog', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "author": "my_author", + * // "createTime": "my_createTime", + * // "dependentResources": [], + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "newResource": {}, + * // "originalResource": {}, + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "sequenceNumber": "my_sequenceNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Changelogs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 the changelogs of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.changelogs.list({ + * // Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list changelogs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "changelogs": [], + * // "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$Apps$Changelogs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/changelogs').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$Apps$Changelogs$Get extends StandardParameters { + /** + * Required. The resource name of the changelog to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Changelogs$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list changelogs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Conversations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Batch deletes the specified conversations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.conversations.batchDelete({ + * // Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversations": [] + * // } + * }, + * }); + * 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. + */ + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions + ): Promise>; + batchDelete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options?: MethodOptions + ): Promise>; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + callback: BodyResponseCallback + ): void; + batchDelete(callback: BodyResponseCallback): void; + batchDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/conversations:batchDelete' + ).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 the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.conversations.delete({ + * // Required. The resource name of the conversation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: '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$Apps$Conversations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Creates a golden evaluation from a conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.conversations.generateEvaluation({ + * // Required. The conversation to create the golden evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + * conversation: + * 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "source": "my_source" + * // } + * }, + * }); + * 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. + */ + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: StreamMethodOptions + ): Promise>; + generateEvaluation( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options?: MethodOptions + ): Promise>; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + callback: BodyResponseCallback + ): void; + generateEvaluation(callback: BodyResponseCallback): void; + generateEvaluation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+conversation}:generateEvaluation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['conversation'], + pathParams: ['conversation'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.conversations.get({ + * // Required. The resource name of the conversation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, all source will be searched. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelType": "my_channelType", + * // "deployment": "my_deployment", + * // "endTime": "my_endTime", + * // "entryAgent": "my_entryAgent", + * // "inputTypes": [], + * // "languageCode": "my_languageCode", + * // "messages": [], + * // "name": "my_name", + * // "source": "my_source", + * // "startTime": "my_startTime", + * // "turnCount": 0, + * // "turns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Conversations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 conversations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.conversations.list({ + * // Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListConversations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list conversations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field. + * source: 'placeholder-value', + * // Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default. + * sources: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversations": [], + * // "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$Apps$Conversations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Conversations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/conversations').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$Apps$Conversations$Batchdelete extends StandardParameters { + /** + * Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Delete extends StandardParameters { + /** + * Required. The resource name of the conversation to delete. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation extends StandardParameters { + /** + * Required. The conversation to create the golden evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + conversation?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateEvaluationRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Get extends StandardParameters { + /** + * Required. The resource name of the conversation to retrieve. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, all source will be searched. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list conversations from. + */ + parent?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. Will be deprecated in favor of `sources` field. + */ + source?: string; + /** + * Optional. Indicate the sources of the conversations. If not set, all available sources will be applied by default. + */ + sources?: string[]; + } + + export class Resource$Projects$Locations$Apps$Deployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new deployment in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.deployments.create({ + * // Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + * deploymentId: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/deployments').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 the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.deployments.delete({ + * // Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * 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$Apps$Deployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.deployments.get({ + * // Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 deployments in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.deployments.list({ + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deployments": [], + * // "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$Apps$Deployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Deployments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/deployments').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); + } + } + + /** + * Updates the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.deployments.patch({ + * // Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Deployments$Create extends StandardParameters { + /** + * Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + */ + deploymentId?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Delete extends StandardParameters { + /** + * Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Get extends StandardParameters { + /** + * Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$List extends StandardParameters { + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments 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 `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Patch extends StandardParameters { + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + + export class Resource$Projects$Locations$Apps$Evaluationdatasets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationDatasets.create({ + * // Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + * evaluationDatasetId: 'placeholder-value', + * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').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 an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationDatasets.delete({ + * // Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the evaluation dataset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * }); + * 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$Apps$Evaluationdatasets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationDatasets.get({ + * // Required. The resource name of the evaluation dataset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all evaluation datasets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationDatasets.list({ + * // Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation datasets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationDatasets": [], + * // "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$Apps$Evaluationdatasets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').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 + ); + } + } + + /** + * Updates an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationDatasets.patch({ + * // Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Evaluationdatasets$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + */ + evaluationDatasetId?: string; + /** + * Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationDataset; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the evaluation dataset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation dataset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation datasets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationDataset; + } + + export class Resource$Projects$Locations$Apps$Evaluationexpectations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationExpectations.create({ + * // Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation. + * evaluationExpectationId: 'placeholder-value', + * // Required. The app to create the evaluation expectation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "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$Apps$Evaluationexpectations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationExpectations').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 an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationExpectations.delete({ + * // Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the evaluation expectation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * }); + * 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$Apps$Evaluationexpectations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationExpectations.get({ + * // Required. The resource name of the evaluation expectation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "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$Apps$Evaluationexpectations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all evaluation expectations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationExpectations.list({ + * // Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation expectations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationExpectations": [], + * // "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$Apps$Evaluationexpectations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationExpectations').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 + ); + } + } + + /** + * Updates an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationExpectations.patch({ + * // Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "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$Apps$Evaluationexpectations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Evaluationexpectations$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation. + */ + evaluationExpectationId?: string; + /** + * Required. The app to create the evaluation expectation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationExpectation; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the evaluation expectation to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation expectation to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation expectations from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationExpectation; + } + + export class Resource$Projects$Locations$Apps$Evaluationruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationRuns.delete({ + * // Required. The resource name of the evaluation run to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationRuns/my-evaluationRun', + * }); + * 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$Apps$Evaluationruns$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationRuns.get({ + * // Required. The resource name of the evaluation run to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationRuns/my-evaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "appVersionDisplayName": "my_appVersionDisplayName", + * // "changelog": "my_changelog", + * // "changelogCreateTime": "my_changelogCreateTime", + * // "config": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "error": {}, + * // "errorInfo": {}, + * // "evaluationDataset": "my_evaluationDataset", + * // "evaluationResults": [], + * // "evaluationRunSummaries": {}, + * // "evaluationType": "my_evaluationType", + * // "evaluations": [], + * // "goldenRunMethod": "my_goldenRunMethod", + * // "initiatedBy": "my_initiatedBy", + * // "latencyReport": {}, + * // "name": "my_name", + * // "optimizationConfig": {}, + * // "personaRunConfigs": [], + * // "progress": {}, + * // "runCount": 0, + * // "scheduledEvaluationRun": "my_scheduledEvaluationRun", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Evaluationruns$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all evaluation runs in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluationRuns.list({ + * // Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation runs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationRuns": [], + * // "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$Apps$Evaluationruns$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationRuns').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$Apps$Evaluationruns$Delete extends StandardParameters { + /** + * Required. The resource name of the evaluation run to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationruns$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation run to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationruns$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation runs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Evaluations { + context: APIRequestContext; + results: Resource$Projects$Locations$Apps$Evaluations$Results; + constructor(context: APIRequestContext) { + this.context = context; + this.results = new Resource$Projects$Locations$Apps$Evaluations$Results( + this.context + ); + } + + /** + * Creates an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.create({ + * // Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + * evaluationId: 'placeholder-value', + * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "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$Apps$Evaluations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluations').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 an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.delete({ + * // Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the evaluation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * 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$Apps$Evaluations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.get({ + * // Required. The resource name of the evaluation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "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$Apps$Evaluations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Evaluations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all evaluations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.list({ + * // Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag. + * filter: 'placeholder-value', + * // Optional. Whether to include the last 10 evaluation results for each evaluation in the response. + * lastTenResults: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluations": [], + * // "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$Apps$Evaluations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Evaluations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluations').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); + } + } + + /** + * Updates an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.patch({ + * // Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "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$Apps$Evaluations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Evaluations$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + */ + evaluationId?: string; + /** + * Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Evaluation; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the evaluation to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag. + */ + filter?: string; + /** + * Optional. Whether to include the last 10 evaluation results for each evaluation in the response. + */ + lastTenResults?: boolean; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluations from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Evaluation; + } + + export class Resource$Projects$Locations$Apps$Evaluations$Results { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an evaluation result. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.results.delete({ + * // Required. The resource name of the evaluation result to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation/results/my-result', + * }); + * 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$Apps$Evaluations$Results$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified evaluation result. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.results.get({ + * // Required. The resource name of the evaluation result to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation/results/my-result', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "appVersionDisplayName": "my_appVersionDisplayName", + * // "changelog": "my_changelog", + * // "changelogCreateTime": "my_changelogCreateTime", + * // "config": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "error": {}, + * // "errorInfo": {}, + * // "evaluationMetricsThresholds": {}, + * // "evaluationRun": "my_evaluationRun", + * // "evaluationStatus": "my_evaluationStatus", + * // "executionState": "my_executionState", + * // "goldenResult": {}, + * // "goldenRunMethod": "my_goldenRunMethod", + * // "initiatedBy": "my_initiatedBy", + * // "name": "my_name", + * // "persona": {}, + * // "scenarioResult": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Evaluations$Results$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all evaluation results for a given evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.evaluations.results.list({ + * // Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/-` + * parent: + * 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationResults": [], + * // "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$Apps$Evaluations$Results$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/results').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$Apps$Evaluations$Results$Delete extends StandardParameters { + /** + * Required. The resource name of the evaluation result to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation result to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Results$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call. + */ + pageToken?: string; + /** + * Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/-` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Examples { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new example in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.examples.create({ + * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + * exampleId: 'placeholder-value', + * // Required. The resource name of the app to create an example in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/examples').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 the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.examples.delete({ + * // Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the example to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * 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$Apps$Examples$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.examples.get({ + * // Required. The resource name of the example to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Examples$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 examples in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.examples.list({ + * // Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListExamples call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list examples from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "examples": [], + * // "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$Apps$Examples$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Examples$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/examples').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); + } + } + + /** + * Updates the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.examples.patch({ + * // Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Examples$Create extends StandardParameters { + /** + * Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + */ + exampleId?: string; + /** + * Required. The resource name of the app to create an example in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Delete extends StandardParameters { + /** + * Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the example to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Get extends StandardParameters { + /** + * Required. The resource name of the example to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list examples from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + + export class Resource$Projects$Locations$Apps$Guardrails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new guardrail in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.guardrails.create({ + * // Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + * guardrailId: 'placeholder-value', + * // Required. The resource name of the app to create a guardrail in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/guardrails').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 the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.guardrails.delete({ + * // Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the guardrail to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * 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$Apps$Guardrails$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.guardrails.get({ + * // Required. The resource name of the guardrail to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 guardrails in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.guardrails.list({ + * // Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list guardrails from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "guardrails": [], + * // "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$Apps$Guardrails$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/guardrails').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); + } + } + + /** + * Updates the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.guardrails.patch({ + * // Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "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. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Guardrails$Create extends StandardParameters { + /** + * Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + */ + guardrailId?: string; + /** + * Required. The resource name of the app to create a guardrail in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Delete extends StandardParameters { + /** + * Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the guardrail to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Get extends StandardParameters { + /** + * Required. The resource name of the guardrail to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list guardrails from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + + export class Resource$Projects$Locations$Apps$Scheduledevaluationruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.scheduledEvaluationRuns.create({ + * // Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. + * scheduledEvaluationRunId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "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$Apps$Scheduledevaluationruns$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/scheduledEvaluationRuns' + ).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 scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.scheduledEvaluationRuns.delete({ + * // Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag. + * etag: 'placeholder-value', + * // Required. The resource name of the scheduled evaluation run to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * }); + * 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$Apps$Scheduledevaluationruns$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.scheduledEvaluationRuns.get({ + * // Required. The resource name of the scheduled evaluation run to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "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$Apps$Scheduledevaluationruns$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all scheduled evaluation runs in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.scheduledEvaluationRuns.list({ + * // Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id + * filter: 'placeholder-value', + * // Optional. Field to sort by. Supported fields are: "name" (ascending), "create_time" (descending), "update_time" (descending), "next_scheduled_execution" (ascending), and "last_completed_run.create_time" (descending). If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list scheduled evaluation runs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "scheduledEvaluationRuns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Scheduledevaluationruns$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/scheduledEvaluationRuns' + ).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 + ); + } + } + + /** + * Updates a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.scheduledEvaluationRuns.patch({ + * // Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "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$Apps$Scheduledevaluationruns$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Scheduledevaluationruns$Create extends StandardParameters { + /** + * Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + /** + * Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. + */ + scheduledEvaluationRunId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ScheduledEvaluationRun; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete extends StandardParameters { + /** + * Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag. + */ + etag?: string; + /** + * Required. The resource name of the scheduled evaluation run to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get extends StandardParameters { + /** + * Required. The resource name of the scheduled evaluation run to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id + */ + filter?: string; + /** + * Optional. Field to sort by. Supported fields are: "name" (ascending), "create_time" (descending), "update_time" (descending), "next_scheduled_execution" (ascending), and "last_completed_run.create_time" (descending). If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list scheduled evaluation runs from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ScheduledEvaluationRun; + } + + export class Resource$Projects$Locations$Apps$Sessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates a session scoped token for chat widget to authenticate with Session APIs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.sessions.generateChatToken({ + * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deployment": "my_deployment", + * // "recaptchaToken": "my_recaptchaToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "chatToken": "my_chatToken", + * // "expireTime": "my_expireTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions + ): Promise>; + generateChatToken( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options?: MethodOptions + ): Promise>; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + callback: BodyResponseCallback + ): void; + generateChatToken( + callback: BodyResponseCallback + ): void; + generateChatToken( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:generateChatToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates a single turn interaction with the CES agent within a session. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.sessions.runSession({ + * // Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + * session: + * 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "config": {}, + * // "inputs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "outputs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions + ): Promise>; + runSession( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options?: MethodOptions + ): Promise>; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + callback: BodyResponseCallback + ): void; + runSession(callback: BodyResponseCallback): void; + runSession( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Runsession + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+session}:runSession').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken extends StandardParameters { + /** + * Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateChatTokenRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Sessions$Runsession extends StandardParameters { + /** + * Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + */ + session?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunSessionRequest; + } + + export class Resource$Projects$Locations$Apps$Tools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new tool in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.tools.create({ + * // Required. The resource name of the app to create a tool in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + * toolId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Tools$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/tools').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 the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.tools.delete({ + * // Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the tool to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * 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$Apps$Tools$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.tools.get({ + * // Required. The resource name of the tool to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Tools$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 tools in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.tools.list({ + * // Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListTools call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list tools from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Tools$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/tools').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); + } + } + + /** + * Updates the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.tools.patch({ + * // Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Tools$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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$Apps$Tools$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a tool in. + */ + parent?: string; + /** + * Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + */ + toolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Delete extends StandardParameters { + /** + * Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the tool to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Get extends StandardParameters { + /** + * Required. The resource name of the tool to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list tools from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + + export class Resource$Projects$Locations$Apps$Toolsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new toolset in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.create({ + * // Required. The resource name of the app to create a toolset in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + * toolsetId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/toolsets').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 the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.delete({ + * // Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the toolset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * 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$Apps$Toolsets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.get({ + * // Required. The resource name of the toolset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 toolsets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.list({ + * // Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListToolsets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list toolsets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "toolsets": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Toolsets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/toolsets').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); + } + } + + /** + * Updates the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.patch({ + * // Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "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$Apps$Toolsets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Retrieve the list of tools included in the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.toolsets.retrieveTools({ + * // Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * toolset: + * 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolIds": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions + ): Promise>; + retrieveTools( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options?: MethodOptions + ): Promise>; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + callback: BodyResponseCallback + ): void; + retrieveTools( + callback: BodyResponseCallback + ): void; + retrieveTools( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+toolset}:retrieveTools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['toolset'], + pathParams: ['toolset'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a toolset in. + */ + parent?: string; + /** + * Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + */ + toolsetId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Delete extends StandardParameters { + /** + * Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the toolset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Get extends StandardParameters { + /** + * Required. The resource name of the toolset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list toolsets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools extends StandardParameters { + /** + * Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolsRequest; + } + + export class Resource$Projects$Locations$Apps$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new app version in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.versions.create({ + * // Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + * appVersionId: 'placeholder-value', + * // Required. The resource name of the app to create an app version in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Versions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Versions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/versions').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 the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.versions.delete({ + * // Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app version to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * 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$Apps$Versions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 details of the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.versions.get({ + * // Required. The resource name of the app version to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Apps$Versions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Versions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 all app versions in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.versions.list({ + * // Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * 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. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list app versions from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersions": [], + * // "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$Apps$Versions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Versions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/versions').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); + } + } + + /** + * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.apps.versions.restore({ + * // Required. The resource name of the app version to restore. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // 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. + */ + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions + ): Promise>; + restore( + params?: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options?: MethodOptions + ): Promise>; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + callback: BodyResponseCallback + ): void; + restore(callback: BodyResponseCallback): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + 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$Apps$Versions$Create extends StandardParameters { + /** + * Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + */ + appVersionId?: string; + /** + * Required. The resource name of the app to create an app version in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Delete extends StandardParameters { + /** + * Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app version to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Get extends StandardParameters { + /** + * Required. The resource name of the app version to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list app versions from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { + /** + * Required. The resource name of the app version to restore. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreAppVersionRequest; + } + + export class Resource$Projects$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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // 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. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * 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$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * 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. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * '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 ces.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/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 + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "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$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/operations').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); + } + } + } + + export interface Params$Resource$Projects$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$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$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; + } +} diff --git a/src/apis/ces/webpack.config.js b/src/apis/ces/webpack.config.js new file mode 100644 index 00000000000..68232a8ab17 --- /dev/null +++ b/src/apis/ces/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 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. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Ces', + filename: 'ces.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index 79d4d115ec7..689ffe250e2 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -1082,6 +1082,10 @@ export namespace chat_v1 { * A configuration object that helps configure the data sources for a widget. Available for Google Chat apps and Google Workspace add-ons that extend Google Workspace Studio. */ export interface Schema$GoogleAppsCardV1DataSourceConfig { + /** + * The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). + */ + minCharactersTrigger?: number | null; /** * The data is from a Google Workspace application. */ @@ -1519,7 +1523,7 @@ export namespace chat_v1 { */ export interface Schema$GoogleAppsCardV1SelectionInput { /** - * Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source. If specified, the `multi_select_max_selected_items` field, `multi_select_min_query_length` field, `external_data_source` field and `platform_data_source` field are ignored. Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the `Dropdown widget` in Google Chat apps as part of the [Developer Preview Program](https://developers.google.com/workspace/preview). For the `Dropdown` widget in Google Chat apps, only one `DataSourceConfig` is supported. If multiple `DataSourceConfig`s are set, only the first one is used. + * Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source. If specified, the `multi_select_max_selected_items` field, `multi_select_min_query_length` field, `external_data_source` field and `platform_data_source` field are ignored. Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the `Dropdown widget` in Google Chat apps. For the `Dropdown` widget in Google Chat apps, only one `DataSourceConfig` is supported. If multiple `DataSourceConfig`s are set, only the first one is used. */ dataSourceConfigs?: Schema$GoogleAppsCardV1DataSourceConfig[]; /** diff --git a/src/apis/clouddeploy/v1.ts b/src/apis/clouddeploy/v1.ts index 60abb0561f2..1820a4e8ecd 100644 --- a/src/apis/clouddeploy/v1.ts +++ b/src/apis/clouddeploy/v1.ts @@ -677,6 +677,10 @@ export namespace clouddeploy_v1 { * Output only. The Cloud Run Service urls that are associated with a `Rollout`. */ serviceUrls?: string[] | null; + /** + * Output only. The Cloud Run worker pool associated with a `Rollout`. Format is `projects/{project\}/locations/{location\}/workerPools/{worker_pool\}`. + */ + workerPool?: string | null; } /** * CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. @@ -686,6 +690,10 @@ export namespace clouddeploy_v1 { * Output only. The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project\}/locations/{location\}/services/{service\}`. */ service?: string | null; + /** + * Output only. The name of the Cloud Run Worker Pool in the rendered manifest. Format is `projects/{project\}/locations/{location\}/workerPools/{worker_pool\}`. + */ + workerPool?: string | null; } /** * Service-wide configuration. @@ -3712,7 +3720,7 @@ export namespace clouddeploy_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/cloudfunctions/v2.ts b/src/apis/cloudfunctions/v2.ts index 7fd38c096c1..d03b64ce1a4 100644 --- a/src/apis/cloudfunctions/v2.ts +++ b/src/apis/cloudfunctions/v2.ts @@ -264,6 +264,23 @@ export namespace cloudfunctions_v2 { * Request for the `DetachFunction` method. */ export interface Schema$DetachFunctionRequest {} + /** + * The Direct VPC network interface. This is mutually exclusive with VPC Connector. + */ + export interface Schema$DirectVpcNetworkInterface { + /** + * Optional. The name of the VPC network to which the function will be connected. Specify either a VPC network or a subnet, or both. If you specify only a network, the subnet uses the same name as the network. + */ + network?: string | null; + /** + * Optional. The name of the VPC subnetwork that the Cloud Function resource will get IPs from. Specify either a VPC network or a subnet, or both. If both network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the subnetwork with the same name with the network will be used. + */ + subnetwork?: string | null; + /** + * Optional. Network tags applied to this Cloud Function resource. + */ + tags?: string[] | null; + } /** * Filters events based on exact matches on the CloudEvents attributes. */ @@ -881,6 +898,14 @@ export namespace cloudfunctions_v2 { * Optional. The binary authorization policy to be checked when deploying the Cloud Run service. */ binaryAuthorizationPolicy?: string | null; + /** + * Optional. Egress settings for direct VPC. If not provided, it defaults to VPC_EGRESS_PRIVATE_RANGES_ONLY. + */ + directVpcEgress?: string | null; + /** + * Optional. The Direct VPC network interface for the Cloud Function. Currently only a single Direct VPC is supported. + */ + directVpcNetworkInterface?: Schema$DirectVpcNetworkInterface[]; /** * Environment variables that shall be available during function execution. */ diff --git a/src/apis/cloudkms/v1.ts b/src/apis/cloudkms/v1.ts index 5913e08ceb1..7578c1c1da1 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` + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. */ name?: string | null; /** @@ -630,6 +630,10 @@ export namespace cloudkms_v1 { * A Digest holds a cryptographic message digest. */ export interface Schema$Digest { + /** + * A message digest produced with SHAKE-256, to be used with ML-DSA external-μ algorithms only. See "message representative" note in section 6.2, algorithm 7 of the FIPS-204 standard: https://doi.org/10.6028/nist.fips.204 + */ + externalMu?: string | null; /** * A message digest produced with the SHA-256 algorithm. */ @@ -1078,6 +1082,23 @@ export namespace cloudkms_v1 { */ nextPageToken?: string | null; } + /** + * Response message for KeyManagementService.ListRetiredResources. + */ + export interface Schema$ListRetiredResourcesResponse { + /** + * A token to retrieve the next page of results. Pass this value in ListRetiredResourcesRequest.page_token to retrieve the next page of results. + */ + nextPageToken?: string | null; + /** + * The list of RetiredResources. + */ + retiredResources?: Schema$RetiredResource[]; + /** + * The total number of RetiredResources that matched the query. + */ + totalSize?: string | null; + } /** * Response message for HsmManagement.ListSingleTenantHsmInstanceProposals. */ @@ -1564,6 +1585,27 @@ export namespace cloudkms_v1 { * Request message for KeyManagementService.RestoreCryptoKeyVersion. */ export interface Schema$RestoreCryptoKeyVersionRequest {} + /** + * A RetiredResource resource represents the record of a deleted CryptoKey. Its purpose is to provide visibility into retained user data and to prevent reuse of these names for new CryptoKeys. + */ + export interface Schema$RetiredResource { + /** + * Output only. The time at which the original resource was deleted and this RetiredResource record was created. + */ + deleteTime?: string | null; + /** + * Output only. Identifier. The resource name for this RetiredResource in the format `projects/x/locations/x/retiredResources/x`. + */ + name?: string | null; + /** + * Output only. The full resource name of the original CryptoKey that was deleted in the format `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + */ + originalResource?: string | null; + /** + * Output only. The resource type of the original deleted resource. + */ + resourceType?: string | null; + } /** * A ServiceResolver represents an EKM replica that can be reached within an EkmConnection. */ @@ -2128,7 +2170,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` + * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. * name: 'folders/my-folder/autokeyConfig', * // Required. Masks which fields of the AutokeyConfig to update, e.g. `keyProject`. * updateMask: 'placeholder-value', @@ -2425,7 +2467,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` + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. */ name?: string; /** @@ -3581,7 +3623,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` + * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. * name: 'projects/my-project/autokeyConfig', * // Required. Masks which fields of the AutokeyConfig to update, e.g. `keyProject`. * updateMask: 'placeholder-value', @@ -3896,7 +3938,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` + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. */ name?: string; /** @@ -3932,6 +3974,7 @@ export namespace cloudkms_v1 { keyHandles: Resource$Projects$Locations$Keyhandles; keyRings: Resource$Projects$Locations$Keyrings; operations: Resource$Projects$Locations$Operations; + retiredResources: Resource$Projects$Locations$Retiredresources; singleTenantHsmInstances: Resource$Projects$Locations$Singletenanthsminstances; constructor(context: APIRequestContext) { this.context = context; @@ -3946,6 +3989,9 @@ export namespace cloudkms_v1 { this.operations = new Resource$Projects$Locations$Operations( this.context ); + this.retiredResources = new Resource$Projects$Locations$Retiredresources( + this.context + ); this.singleTenantHsmInstances = new Resource$Projects$Locations$Singletenanthsminstances(this.context); } @@ -4384,7 +4430,7 @@ export namespace cloudkms_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -8369,6 +8415,148 @@ export namespace cloudkms_v1 { } } + /** + * Permanently deletes the given CryptoKey. All child CryptoKeyVersions must have been previously deleted using KeyManagementService.DeleteCryptoKeyVersion. The specified crypto key will be immediately and permanently deleted upon calling this method. This action cannot be undone. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('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/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudkms.projects.locations.keyRings.cryptoKeys.delete({ + * // Required. The name of the CryptoKey to delete. + * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing/cryptoKeys/my-cryptoKey', + * }); + * 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$Keyrings$Cryptokeys$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.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); + } + } + /** * Encrypts data, so that it can only be recovered by a call to Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT. * @example @@ -9652,6 +9840,12 @@ export namespace cloudkms_v1 { */ requestBody?: Schema$DecryptRequest; } + export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Delete extends StandardParameters { + /** + * Required. The name of the CryptoKey to delete. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Encrypt extends StandardParameters { /** * Required. The resource name of the CryptoKey or CryptoKeyVersion to use for encryption. If a CryptoKey is specified, the server will use its primary version. @@ -10427,7 +10621,7 @@ export namespace cloudkms_v1 { } /** - * Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process. + * Permanently deletes the given CryptoKeyVersion. Only possible if the version has not been previously imported and if its state is one of DESTROYED, IMPORT_FAILED, or GENERATION_FAILED. Successfully imported CryptoKeyVersions cannot be deleted at this time. The specified version will be immediately and permanently deleted upon calling this method. This action cannot be undone. * @example * ```js * // Before running the sample: @@ -10460,38 +10654,21 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = - * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy( + * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.delete( * { - * // Required. The resource name of the CryptoKeyVersion to destroy. + * // Required. The name of the CryptoKeyVersion to delete. * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing/cryptoKeys/my-cryptoKey/cryptoKeyVersions/my-cryptoKeyVersion', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, * }, * ); * console.log(res.data); * * // Example response * // { - * // "algorithm": "my_algorithm", - * // "attestation": {}, - * // "createTime": "my_createTime", - * // "destroyEventTime": "my_destroyEventTime", - * // "destroyTime": "my_destroyTime", - * // "externalDestructionFailureReason": "my_externalDestructionFailureReason", - * // "externalProtectionLevelOptions": {}, - * // "generateTime": "my_generateTime", - * // "generationFailureReason": "my_generationFailureReason", - * // "importFailureReason": "my_importFailureReason", - * // "importJob": "my_importJob", - * // "importTime": "my_importTime", + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "protectionLevel": "my_protectionLevel", - * // "reimportEligible": false, - * // "state": "my_state" + * // "response": {} * // } * } * @@ -10507,54 +10684,54 @@ export namespace cloudkms_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - destroy( - params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete, options: StreamMethodOptions ): Promise>; - destroy( - params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + delete( + params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete, options?: MethodOptions - ): Promise>; - destroy( - params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - destroy( - params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - destroy( - params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete, + callback: BodyResponseCallback ): void; - destroy(callback: BodyResponseCallback): void; - destroy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$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$Keyrings$Cryptokeys$Cryptokeyversions$Destroy; + {}) as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy; + {} as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete; options = {}; } @@ -10567,11 +10744,8 @@ export namespace cloudkms_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:destroy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options @@ -10582,17 +10756,17 @@ export namespace cloudkms_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns metadata for a given CryptoKeyVersion. + * Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process. * @example * ```js * // Before running the sample: @@ -10625,10 +10799,16 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = - * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get( + * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy( * { - * // Required. The name of the CryptoKeyVersion to get. + * // Required. The resource name of the CryptoKeyVersion to destroy. * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing/cryptoKeys/my-cryptoKey/cryptoKeyVersions/my-cryptoKeyVersion', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, * }, * ); * console.log(res.data); @@ -10666,13 +10846,172 @@ export namespace cloudkms_v1 { * @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$Keyrings$Cryptokeys$Cryptokeyversions$Get, + destroy( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, - options?: MethodOptions + destroy( + params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + options?: MethodOptions + ): Promise>; + destroy( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + destroy( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + destroy( + params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy, + callback: BodyResponseCallback + ): void; + destroy(callback: BodyResponseCallback): void; + destroy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:destroy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns metadata for a given CryptoKeyVersion. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('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/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get( + * { + * // Required. The name of the CryptoKeyVersion to get. + * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing/cryptoKeys/my-cryptoKey/cryptoKeyVersions/my-cryptoKeyVersion', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "algorithm": "my_algorithm", + * // "attestation": {}, + * // "createTime": "my_createTime", + * // "destroyEventTime": "my_destroyEventTime", + * // "destroyTime": "my_destroyTime", + * // "externalDestructionFailureReason": "my_externalDestructionFailureReason", + * // "externalProtectionLevelOptions": {}, + * // "generateTime": "my_generateTime", + * // "generationFailureReason": "my_generationFailureReason", + * // "importFailureReason": "my_importFailureReason", + * // "importJob": "my_importJob", + * // "importTime": "my_importTime", + * // "name": "my_name", + * // "protectionLevel": "my_protectionLevel", + * // "reimportEligible": false, + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Keyrings$Cryptokeys$Cryptokeyversions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, + options?: MethodOptions ): Promise>; get( params: Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Get, @@ -12271,6 +12610,12 @@ export namespace cloudkms_v1 { */ requestBody?: Schema$DecapsulateRequest; } + export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Delete extends StandardParameters { + /** + * Required. The name of the CryptoKeyVersion to delete. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Keyrings$Cryptokeys$Cryptokeyversions$Destroy extends StandardParameters { /** * Required. The resource name of the CryptoKeyVersion to destroy. @@ -13574,6 +13919,326 @@ export namespace cloudkms_v1 { name?: string; } + export class Resource$Projects$Locations$Retiredresources { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves a specific RetiredResource resource, which represents the record of a deleted CryptoKey. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('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/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudkms.projects.locations.retiredResources.get({ + * // Required. The name of the RetiredResource to get. + * name: 'projects/my-project/locations/my-location/retiredResources/my-retiredResource', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deleteTime": "my_deleteTime", + * // "name": "my_name", + * // "originalResource": "my_originalResource", + * // "resourceType": "my_resourceType" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Retiredresources$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Retiredresources$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Retiredresources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Retiredresources$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Retiredresources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Retiredresources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Retiredresources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Retiredresources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.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 the RetiredResources which are the records of deleted CryptoKeys. RetiredResources prevent the reuse of these resource names after deletion. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('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/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudkms.projects.locations.retiredResources.list({ + * // Optional. Optional limit on the number of RetiredResources to be included in the response. Further RetiredResources can subsequently be obtained by including the ListRetiredResourcesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. Optional pagination token, returned earlier via ListRetiredResourcesResponse.next_page_token. + * pageToken: 'placeholder-value', + * // Required. The project-specific location holding the RetiredResources, in the format `projects/x/locations/x`. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "retiredResources": [], + * // "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. + */ + list( + params: Params$Resource$Projects$Locations$Retiredresources$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Retiredresources$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Retiredresources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Retiredresources$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Retiredresources$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Retiredresources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Retiredresources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Retiredresources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/retiredResources').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$Retiredresources$Get extends StandardParameters { + /** + * Required. The name of the RetiredResource to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Retiredresources$List extends StandardParameters { + /** + * Optional. Optional limit on the number of RetiredResources to be included in the response. Further RetiredResources can subsequently be obtained by including the ListRetiredResourcesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. Optional pagination token, returned earlier via ListRetiredResourcesResponse.next_page_token. + */ + pageToken?: string; + /** + * Required. The project-specific location holding the RetiredResources, in the format `projects/x/locations/x`. + */ + parent?: string; + } + export class Resource$Projects$Locations$Singletenanthsminstances { context: APIRequestContext; proposals: Resource$Projects$Locations$Singletenanthsminstances$Proposals; diff --git a/src/apis/cloudprofiler/README.md b/src/apis/cloudprofiler/README.md index c7191405739..55b624f896a 100644 --- a/src/apis/cloudprofiler/README.md +++ b/src/apis/cloudprofiler/README.md @@ -8,8 +8,8 @@ **Note**: Google provides multiple libraries for this service. This library is in maintenance mode, and will continue to be made available for users who have existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/profiler](https://www.npmjs.com/package/@google-cloud/profiler) instead. -The [@google-cloud/profiler](https://www.npmjs.com/package/@google-cloud/profiler) library is faster, easier to use, and better maintained. +legacy application, please use [@google-cloud/cloudprofiler](https://www.npmjs.com/package/@google-cloud/cloudprofiler) instead. +The [@google-cloud/cloudprofiler](https://www.npmjs.com/package/@google-cloud/cloudprofiler) library is faster, easier to use, and better maintained. To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). diff --git a/src/apis/cloudscheduler/v1.ts b/src/apis/cloudscheduler/v1.ts index f3f7db1a745..3bdafeb7878 100644 --- a/src/apis/cloudscheduler/v1.ts +++ b/src/apis/cloudscheduler/v1.ts @@ -831,7 +831,7 @@ export namespace cloudscheduler_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/cloudscheduler/v1beta1.ts b/src/apis/cloudscheduler/v1beta1.ts index 8b6ede37f11..336fad09ea7 100644 --- a/src/apis/cloudscheduler/v1beta1.ts +++ b/src/apis/cloudscheduler/v1beta1.ts @@ -691,7 +691,7 @@ export namespace cloudscheduler_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index 42153390a95..b06e8eccd82 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -1253,7 +1253,7 @@ export namespace compute_alpha { } /** * Properties of the SKU instances being reserved. - * Next ID: 9 + * Next ID: 10 */ export interface Schema$AllocationSpecificSKUAllocationReservedInstanceProperties { /** @@ -1480,12 +1480,6 @@ export namespace compute_alpha { * Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. */ type?: string | null; - /** - * Output only. [Output Only] A list of user provided licenses. It represents a list of - * URLs to the license resource. Unlike regular licenses, user provided - * licenses can be modified after the disk is created. - */ - userLicenses?: string[] | null; } /** * [Input Only] Specifies the parameters for a new disk that will be created @@ -1610,7 +1604,7 @@ export namespace compute_alpha { */ replicaZones?: string[] | null; /** - * Resource manager tags to be bound to the disk. Tag keys and values + * Input only. Resource manager tags to be bound to the disk. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -2602,6 +2596,10 @@ export namespace compute_alpha { * balancing mode. */ maxUtilization?: number | null; + /** + * Information about the resource or system that manages the backend. + */ + orchestrationInfo?: Schema$BackendBackendOrchestrationInfo; /** * This field indicates whether this backend should be fully utilized before * sending traffic to backends with default preference. The possible values @@ -2627,6 +2625,16 @@ export namespace compute_alpha { service?: string | null; trafficDuration?: string | null; } + /** + * A message containing information about the resource or system that manages + * the backend. + */ + export interface Schema$BackendBackendOrchestrationInfo { + /** + * The URI of the resource or system that manages the backend. + */ + resourceUri?: string | null; + } /** * Represents a Cloud Storage Bucket resource. * @@ -3488,6 +3496,10 @@ export namespace compute_alpha { * networkPassThroughLbTrafficPolicy cannot be specified with haPolicy. */ networkPassThroughLbTrafficPolicy?: Schema$BackendServiceNetworkPassThroughLbTrafficPolicy; + /** + * Information about the resource or system that manages the backend service. + */ + orchestrationInfo?: Schema$BackendServiceOrchestrationInfo; /** * Settings controlling the ejection of unhealthy backend endpoints from the * load balancing pool of each individual proxy instance that processes the @@ -4476,6 +4488,17 @@ export namespace compute_alpha { */ spilloverRatio?: number | null; } + /** + * A message containing information about the resource or system that manages + * the backend service. + */ + export interface Schema$BackendServiceOrchestrationInfo { + /** + * The resource URI of the resource or system that manages the backend + * service. + */ + resourceUri?: string | null; + } /** * Additional Backend Service parameters. */ @@ -5556,6 +5579,11 @@ export namespace compute_alpha { * Defines the instance scheduling options. */ export interface Schema$CapacityAdviceRequestInstancePropertiesScheduling { + /** + * The maximum time that instances can run before Compute Engine + * terminates them. + */ + maxRunDuration?: string | null; /** * Specifies the provisioning model of the instance. */ @@ -5585,6 +5613,11 @@ export namespace compute_alpha { * history data and current conditions. */ estimatedUptime?: string | null; + /** + * Output only. The likely maximum time that you will have to wait until + * Compute Engine provisions your instances. + */ + estimatedWaitDuration?: string | null; /** * The obtainability score indicates the likelihood of successfully * obtaining (provisioning) the requested number of VMs. @@ -6138,6 +6171,24 @@ export namespace compute_alpha { message?: string; } | null; } + /** + * Response message for RegionCompositeHealthChecks.GetHealth + */ + export interface Schema$CompositeHealthCheckHealth { + /** + * Health sources and their corresponding health states. + */ + healthSources?: Schema$CompositeHealthChecksGetHealthResponseHealthSourceHealth[]; + /** + * Health state of the CompositeHealthCheck. + */ + healthState?: string | null; + /** + * Output only. [Output Only] Type of resource. Alwayscompute#compositeHealthCheckHealth for the health of + * composite health checks. + */ + kind?: string | null; + } export interface Schema$CompositeHealthCheckList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -6172,26 +6223,13 @@ export namespace compute_alpha { message?: string; } | null; } - /** - * Response message for RegionCompositeHealthChecks.GetHealth - */ - export interface Schema$CompositeHealthChecksGetHealthResponse { - /** - * Health sources and their corresponding health states. - */ - healthSources?: Schema$CompositeHealthChecksGetHealthResponseHealthSourceHealth[]; - /** - * Health state of the CompositeHealthCheck. - */ - healthState?: string | null; - } export interface Schema$CompositeHealthChecksGetHealthResponseHealthSourceHealth { /** * Health state of the associated HealthSource resource. */ healthState?: string | null; /** - * URL of the associated HealthSource resource. + * Fully qualified URL of the associated HealthSource resource. */ source?: string | null; } @@ -6637,6 +6675,79 @@ export namespace compute_alpha { */ 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. */ @@ -7168,15 +7279,6 @@ export namespace compute_alpha { * types. */ type?: string | null; - /** - * A list of publicly visible user-licenses. Unlike regular licenses, user - * provided licenses can be modified after the disk is created. This includes - * a list of URLs to the license resource. For example, to provide a debian - * license: - * - * https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch - */ - userLicenses?: string[] | null; /** * Output only. [Output Only] Links to the users of the disk (attached instances) * in form:projects/project/zones/zone/instances/instance @@ -7263,6 +7365,14 @@ export namespace compute_alpha { export interface Schema$DiskAsyncReplicationList { asyncReplicationDisk?: Schema$DiskAsyncReplication; } + export interface Schema$DiskConvertParams { + forceStopInProgressSnapshot?: boolean | null; + provisionedIops?: string | null; + provisionedThroughput?: string | null; + quickConversionOnly?: boolean | null; + resetSupportedVmFamilies?: boolean | null; + targetDiskType?: string | null; + } /** * A specification of the desired way to instantiate a disk in the instance * template when its created from a source instance. @@ -7405,7 +7515,7 @@ export namespace compute_alpha { */ export interface Schema$DiskParams { /** - * Resource manager tags to be bound to the disk. Tag keys and values + * Input only. Resource manager tags to be bound to the disk. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -7439,6 +7549,9 @@ export namespace compute_alpha { */ resourcePolicies?: string[] | null; } + export interface Schema$DisksConvertRequest { + params?: Schema$DiskConvertParams; + } export interface Schema$DiskSettings { /** * Policy of which locations are allowed to create regional @@ -9650,6 +9763,11 @@ export namespace compute_alpha { } | null; } export interface Schema$FutureReservation { + /** + * Advanced control for cluster management, applicable only to DENSE + * deployment type future reservations. + */ + advancedDeploymentControl?: Schema$ReservationAdvancedDeploymentControl; /** * Aggregate reservation details for the future reservation. */ @@ -9684,6 +9802,7 @@ export namespace compute_alpha { * existing commitment. */ commitmentInfo?: Schema$FutureReservationCommitmentInfo; + confidentialComputeType?: string | null; /** * Output only. [Output Only] The creation timestamp for this future reservation inRFC3339 * text format. @@ -10214,6 +10333,21 @@ export namespace compute_alpha { */ instance?: string | null; } + export interface Schema$GetVersionOperationMetadata { + inlineSbomInfo?: Schema$GetVersionOperationMetadataSbomInfo; + } + export interface Schema$GetVersionOperationMetadataSbomInfo { + /** + * SBOM versions currently applied to the resource. The key is the component + * name and the value is the version. + */ + currentComponentVersions?: {[key: string]: string} | null; + /** + * SBOM versions scheduled for the next maintenance. The key is the + * component name and the value is the version. + */ + targetComponentVersions?: {[key: string]: string} | null; + } export interface Schema$GlobalAddressesMoveRequest { /** * An optional destination address description if intended to be different @@ -10835,7 +10969,10 @@ export namespace compute_alpha { export interface Schema$HaController { /** * Advanced configuration option. If specified, these Backend Services need to - * be pre-created and configured as managed. + * be pre-created. + * + * Currently, only one backend service can be specified, and it must be L4 + * Internal Load Balancer (ILB). */ backendServices?: string[] | null; /** @@ -12016,6 +12153,23 @@ export namespace compute_alpha { message?: string; } | null; } + /** + * Response message for RegionHealthSources.GetHealth + */ + export interface Schema$HealthSourceHealth { + /** + * Health state of the HealthSource. + */ + healthState?: string | null; + /** + * Output only. [Output Only] Type of resource. Alwayscompute#healthSourceHealth for the health of health sources. + */ + kind?: string | null; + /** + * Health state details of the sources. + */ + sources?: Schema$HealthSourcesGetHealthResponseSourceInfo[]; + } export interface Schema$HealthSourceList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -12050,6 +12204,41 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$HealthSourcesGetHealthResponseSourceInfo { + /** + * Represents an instance group or network endpoint group behind the source + * backend service. Only used if the sourceType of the regionHealthSource + * is BACKEND_SERVICE. + */ + backends?: Schema$HealthSourcesGetHealthResponseSourceInfoBackendInfo[]; + /** + * Fully qualified URL of the forwarding rule associated with the source + * resource if it is a L4ILB backend service. + */ + forwardingRule?: string | null; + /** + * Fully qualified URL of the associated source resource. This is always a + * backend service URL. + */ + source?: string | null; + } + export interface Schema$HealthSourcesGetHealthResponseSourceInfoBackendInfo { + /** + * Total number of endpoints when determining the health of the + * regionHealthSource. + */ + endpointCount?: number | null; + /** + * Fully qualified URL of an instance group or network endpoint group + * behind the source backend service. + */ + group?: string | null; + /** + * Number of endpoints considered healthy when determining health of the + * regionHealthSource. + */ + healthyEndpointCount?: number | null; + } export interface Schema$HealthSourcesScopedList { /** * A list of HealthSources contained in this scope. @@ -13698,15 +13887,6 @@ export namespace compute_alpha { * multi-regional). */ storageLocations?: string[] | null; - /** - * A list of publicly visible user-licenses. Unlike regular licenses, user - * provided licenses can be modified after the disk is created. This includes - * a list of URLs to the license resource. For example, to provide a debian - * license: - * - * https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch - */ - userLicenses?: string[] | null; } export interface Schema$ImageFamilyView { /** @@ -13757,7 +13937,7 @@ export namespace compute_alpha { */ export interface Schema$ImageParams { /** - * Resource manager tags to be bound to the image. Tag keys and values have + * Input only. Resource manager tags to be bound to the image. Tag keys and values have * the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -14712,6 +14892,11 @@ export namespace compute_alpha { * are scheduled to be restarted or are currently being restarted. */ restarting?: number | null; + /** + * Output only. [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. [Output Only] The number of instances in the managed instance group that * are scheduled to be resumed or are currently being resumed. @@ -15032,7 +15217,7 @@ export namespace compute_alpha { */ export interface Schema$InstanceGroupManagerParams { /** - * Resource manager tags to bind to the managed instance group. The tags are + * Input only. Resource manager tags to bind to the managed instance group. The tags are * key-value pairs. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced * format such as `{org_id|project_id\}/{tag_key_short_name\}` and @@ -15260,6 +15445,10 @@ export namespace compute_alpha { * in the request. */ allInstances?: boolean | null; + /** + * Whether the boot disk is allowed to be updated with restart. + */ + disruptionMode?: 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]. @@ -15310,6 +15499,17 @@ export namespace compute_alpha { */ mostDisruptiveAllowedAction?: string | null; } + /** + * InstanceGroupManagers.ConfigureAcceleratorTopologies + */ + export interface Schema$InstanceGroupManagersConfigureAcceleratorTopologiesRequest { + /** + * Map of accelerator topologies that should have their state changed to + * the specified value. The key is the hashed topology locus id. It can be + * obtained from the GetAvailableAcceleratorTopologies rpc. + */ + acceleratorTopologyActions?: {[key: string]: string} | null; + } /** * InstanceGroupManagers.createInstances */ @@ -15364,6 +15564,10 @@ export namespace compute_alpha { key: string ]: Schema$InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyInfo; } | null; + /** + * URL to MMIG this MIG belongs to. + */ + multiMig?: string | null; } export interface Schema$InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyInfo { /** @@ -15371,6 +15575,39 @@ export namespace compute_alpha { */ acceleratorTopology?: string | null; acceleratorTopologyHealth?: string | null; + acceleratorTopologyState?: Schema$InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState; + instancesHealth?: string | null; + /** + * Identified by the topology Id in the accelerator_topology_info map. Empty + * for the top-level topology + */ + parent?: string | null; + } + /** + * Specifies the topology state + */ + export interface Schema$InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState { + currentState?: string | null; + /** + * Reason why the topology state change failed + */ + error?: { + errors?: Array<{ + code?: string; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; + } | null; + /** + * Timestamp when the last error happened + */ + errorTimestamp?: string | null; } export interface Schema$InstanceGroupManagersListErrorsResponse { /** @@ -15841,6 +16078,10 @@ export namespace compute_alpha { mode?: string | null; } export interface Schema$InstanceGroupManagerUpdatePolicy { + /** + * Whether the boot disk is allowed to be updated with restart. + */ + disruptionMode?: string | null; /** * The * instance redistribution policy for regional managed instance groups. @@ -16208,7 +16449,7 @@ export namespace compute_alpha { */ requestValidForDuration?: Schema$Duration; /** - * Resource manager tags to be bound to the instance. Tag keys and values + * Input only. Resource manager tags to be bound to the instance. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -16324,7 +16565,7 @@ export namespace compute_alpha { */ reservationAffinity?: Schema$ReservationAffinity; /** - * Resource manager tags to be bound to the instance. Tag keys and values + * Input only. Resource manager tags to be bound to the instance. Tag keys and values * have the same definition as resource * manager tags. Keys must be in the format `tagKeys/{tag_key_id\}`, and * values are in the format `tagValues/456`. The field is ignored (both PUT & @@ -17482,8 +17723,7 @@ export namespace compute_alpha { */ state?: string | null; /** - * Specific subzone in the InterconnectLocation that represents where - * this connection is to be provisioned. + * To be deprecated. */ subzone?: string | null; /** @@ -20693,6 +20933,13 @@ export namespace compute_alpha { * Location configurations mapped by location name. * Currently only zone names are supported and must be represented as valid * internal URLs, such as zones/us-central1-a. + * The bulkInsert operation doesn't create instances in an AI zone, even if + * an AI zone is available in the specified region. For example, if you set a + * DENY preference for us-central1-a, Compute Engine will consider + * us-central1-b and us-central1-c for instance creation, but not + * us-central1-ai1a. Also, you can't use the locations[] configuration to + * allow instance creation in an AI zone. To include an AI zone in bulkInsert + * operations, use the locationPolicy.zones[] field. */ locations?: {[key: string]: Schema$LocationPolicyLocation} | null; /** @@ -20700,7 +20947,9 @@ export namespace compute_alpha { */ targetShape?: string | null; /** - * List with zones where bulk will create instances. + * The bulkInsert operation applies any preferences set in the locations + * field to the specific zones listed in the zones field if the same zones + * are specified in both fields. */ zones?: Schema$LocationPolicyZoneConfiguration[]; } @@ -20733,9 +20982,9 @@ export namespace compute_alpha { } export interface Schema$LocationPolicyZoneConfiguration { /** - * The URL of thezone. + * The URL of the zone. * The zone must exist in the region where the request is called. - * Zones must be represented as valid internal URLs, + * Zones must be represented as valid partial URLs, * such as zones/us-central1-a. */ zone?: string | null; @@ -22355,6 +22604,20 @@ export namespace compute_alpha { * A network endpoint group (NEG) defines how a set of endpoints should be * reached, whether they are reachable, and where they are located. * For more information about using NEGs for different use cases, seeNetwork endpoint groups overview. + * + * 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 */ export interface Schema$NetworkEndpointGroup { /** @@ -24990,6 +25253,7 @@ export namespace compute_alpha { message?: string; }>; } | null; + getVersionOperationMetadata?: Schema$GetVersionOperationMetadata; /** * [Output Only] If the operation fails, this field contains the HTTP error * message that was returned, such as `NOT FOUND`. @@ -25909,6 +26173,33 @@ export namespace compute_alpha { */ 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; + } /** * [Deprecated] All fields defined in a permission are ANDed. */ @@ -27655,11 +27946,6 @@ export namespace compute_alpha { * multi-regional). */ storageLocations?: string[] | null; - /** - * [Output Only] A list of user provided licenses represented by a list of - * URLs to the license resource. - */ - userLicenses?: string[] | null; } export interface Schema$RecoverableSnapshotsScopedList { /** @@ -28072,6 +28358,10 @@ export namespace compute_alpha { * in the request. */ allInstances?: boolean | null; + /** + * Whether the boot disk is allowed to be updated with restart. + */ + disruptionMode?: 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]. @@ -28659,6 +28949,7 @@ export namespace compute_alpha { * displays for reservations that are tied to a commitment. */ commitment?: string | null; + confidentialComputeType?: string | null; /** * Output only. [Output Only] Creation timestamp inRFC3339 * text format. @@ -28683,6 +28974,12 @@ export namespace compute_alpha { * create the resource. */ description?: string | null; + /** + * Indicates the early access maintenance for the reservation. + * If this field is absent or set to NO_EARLY_ACCESS, the reservation is not + * enrolled in early access maintenance and the standard notice applies. + */ + earlyAccessMaintenance?: string | null; /** * Indicates whether Compute Engine allows unplanned maintenance for your VMs; * for example, to fix hardware errors. @@ -29184,6 +29481,12 @@ export namespace compute_alpha { export interface Schema$ReservationSlotsGetResponse { resource?: Schema$ReservationSlot; } + export interface Schema$ReservationSlotsGetVersionRequest { + /** + * The SBOM selection to return. Duplicate values in the list will be ignored. + */ + sbomSelections?: string[] | null; + } /** * A list of reservation slots within a single reservation. */ @@ -29379,6 +29682,12 @@ export namespace compute_alpha { export interface Schema$ReservationSubBlocksGetResponse { resource?: Schema$ReservationSubBlock; } + export interface Schema$ReservationSubBlocksGetVersionRequest { + /** + * The SBOM selection to return. + */ + sbomSelections?: string[] | null; + } /** * A list of reservation subBlocks under a single reservation. */ @@ -30089,6 +30398,10 @@ export namespace compute_alpha { * Effective enable-oslogin value at Instance level. */ enableOsloginMetadataValue?: boolean | null; + /** + * Effective gce-container-declaration value at Instance level. + */ + gceContainerDeclarationMetadataValue?: boolean | null; /** * Effective serial-port-enable value at Instance level. */ @@ -34810,11 +35123,6 @@ export namespace compute_alpha { * multi-regional). */ storageLocations?: string[] | null; - /** - * [Output Only] A list of user provided licenses represented by a list of - * URLs to the license resource. - */ - userLicenses?: string[] | null; } export interface Schema$SnapshotAggregatedList { etag?: string | null; @@ -34992,7 +35300,7 @@ export namespace compute_alpha { */ export interface Schema$SnapshotParams { /** - * Resource manager tags to be bound to the snapshot. Tag keys and values have + * Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have * the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -35710,6 +36018,16 @@ export namespace compute_alpha { * dash. */ name?: string | null; + /** + * One of DEFAULT, ENABLED, orDEFERRED. Controls whether the load balancer allows + * negotiating X25519MLKEM768 key exchange when clients advertise support for + * it. When set to DEFAULT, or if no SSL Policy is + * attached to the target proxy, the load balancer disallows X25519MLKEM768 + * key exchange until it is enabled by default on LBs. When set toENABLED, the load balancer will negotiate X25519MLKEM768 key + * exchange. Customers can set this to DEFERRED to temporarily + * opt-out the LB from negotiating post-quantum key exchange by default. + */ + postQuantumKeyExchange?: string | null; /** * Profile specifies the set of SSL features that can be used by the load * balancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, MODERN, RESTRICTED, orCUSTOM. If using CUSTOM, the set of SSL features @@ -38793,6 +39111,20 @@ export namespace compute_alpha { */ 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; + } /** * [Deprecated] Defines the mechanism to obtain the client or server * certificate. @@ -39732,8 +40064,8 @@ export namespace compute_alpha { */ description?: string | null; /** - * Required. A map of extension names (e.g., "cloudops") to their corresponding policy - * configurations. + * Required. A map of extension names (for example, "ops-agent") to their corresponding + * policy configurations. */ extensionPolicies?: { [key: string]: Schema$VmExtensionPolicyExtensionPolicy; @@ -39778,7 +40110,7 @@ export namespace compute_alpha { * The policy priority is an integer from 0 to 65535, inclusive. Lower * integers indicate higher priorities. If you do not specify a priority when * creating a rule, it is assigned a priority of 1000. If priorities are - * equal, the policy with the more recent creation timestamp takes precedence. + * equal, the policy with the most recent creation timestamp takes precedence. */ priority?: number | null; /** @@ -39946,6 +40278,10 @@ export namespace compute_alpha { * specified. */ enforcementState?: string | null; + /** + * The health status message of the extension. + */ + healthMsg?: string | null; /** * The health status of the extension. */ @@ -39958,11 +40294,6 @@ export namespace compute_alpha { * The id of the policy that is enforced on the extension. */ policyId?: string | null; - /** - * The status message of the extension if the extension is in unhealthy - * state. - */ - unhealthyMsg?: string | null; /** * The version of the extension. */ @@ -41144,6 +41475,7 @@ export namespace compute_alpha { * [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. */ @@ -41194,6 +41526,12 @@ export namespace compute_alpha { 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, @@ -42450,6 +42788,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -42828,6 +43167,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -43258,6 +43598,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -43452,6 +43793,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -44803,6 +45145,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -45168,6 +45511,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -45615,6 +45959,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -45981,6 +46326,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -46574,6 +46920,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -47011,6 +47358,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -47198,6 +47546,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -47714,6 +48063,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -48399,6 +48749,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -48591,6 +48942,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -49114,6 +49466,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -49907,6 +50260,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -50347,6 +50701,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -50534,6 +50889,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -50735,6 +51091,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -51416,6 +51773,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -51447,6 +51805,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -52140,6 +52499,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -52171,6 +52531,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -52363,6 +52724,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -52716,6 +53078,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -53088,6 +53451,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -53119,6 +53483,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -53959,6 +54324,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -54308,6 +54674,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -54752,6 +55119,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -55168,6 +55536,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -55612,6 +55981,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -55805,6 +56175,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -55926,10 +56297,7 @@ export namespace compute_alpha { } /** - * Creates a snapshot of a specified persistent disk. For regular snapshot - * creation, consider using snapshots.insert - * instead, as that method supports more features, such as creating snapshots - * in a project different from the source disk project. + * Converts a persistent disk to support Gen4+ VMs. * @example * ```js * // Before running the sample: @@ -55961,12 +56329,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.createSnapshot({ - * // Name of the persistent disk to snapshot. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // [Input Only] Whether to attempt an application consistent snapshot by - * // informing the OS to prepare for the snapshot process. - * guestFlush: 'placeholder-value', + * const res = await compute.disks.convert({ + * // Name of the Disk resource, should conform to RFC1035. + * disk: '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])?))', @@ -55991,51 +56356,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "architecture": "my_architecture", - * // "autoCreated": false, - * // "chainName": "my_chainName", - * // "creationSizeBytes": "my_creationSizeBytes", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "downloadBytes": "my_downloadBytes", - * // "enableConfidentialCompute": false, - * // "guestFlush": false, - * // "guestOsFeatures": [], - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", - * // "maxRetentionDays": 0, - * // "name": "my_name", - * // "params": {}, - * // "region": "my_region", - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "snapshotEncryptionKey": {}, - * // "snapshotGroupId": "my_snapshotGroupId", - * // "snapshotGroupName": "my_snapshotGroupName", - * // "snapshotType": "my_snapshotType", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotEncryptionKey": {}, - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", - * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", - * // "status": "my_status", - * // "storageBytes": "my_storageBytes", - * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "params": {} * // } * }, * }); @@ -56048,6 +56369,249 @@ export namespace compute_alpha { * // "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. + */ + convert( + params: Params$Resource$Disks$Convert, + options: StreamMethodOptions + ): Promise>; + convert( + params?: Params$Resource$Disks$Convert, + options?: MethodOptions + ): Promise>; + convert( + params: Params$Resource$Disks$Convert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + convert( + params: Params$Resource$Disks$Convert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + convert( + params: Params$Resource$Disks$Convert, + callback: BodyResponseCallback + ): void; + convert(callback: BodyResponseCallback): void; + convert( + paramsOrCallback?: + | Params$Resource$Disks$Convert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Convert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Convert; + 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}/disks/{disk}/convert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a snapshot of a specified persistent disk. For regular snapshot + * creation, consider using snapshots.insert + * instead, as that method supports more features, such as creating snapshots + * in a project different from the source disk project. + * @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.disks.createSnapshot({ + * // Name of the persistent disk to snapshot. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // [Input Only] Whether to attempt an application consistent snapshot by + * // informing the OS to prepare for the snapshot process. + * guestFlush: '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 + * // { + * // "architecture": "my_architecture", + * // "autoCreated": false, + * // "chainName": "my_chainName", + * // "creationSizeBytes": "my_creationSizeBytes", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "downloadBytes": "my_downloadBytes", + * // "enableConfidentialCompute": false, + * // "guestFlush": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "maxRetentionDays": 0, + * // "name": "my_name", + * // "params": {}, + * // "region": "my_region", + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "snapshotEncryptionKey": {}, + * // "snapshotGroupId": "my_snapshotGroupId", + * // "snapshotGroupName": "my_snapshotGroupName", + * // "snapshotType": "my_snapshotType", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotEncryptionKey": {}, + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", + * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", + * // "status": "my_status", + * // "storageBytes": "my_storageBytes", + * // "storageBytesStatus": "my_storageBytesStatus", + * // "storageLocations": [] + * // } + * }, + * }); + * 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", @@ -56237,6 +56801,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -56461,7 +57026,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -56993,7 +57557,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -57008,6 +57571,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -57435,6 +57999,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -57631,6 +58196,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -57984,6 +58550,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -58177,6 +58744,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -58365,6 +58933,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -58560,6 +59129,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -58843,7 +59413,7 @@ export namespace compute_alpha { /** * Updates the specified disk with the data included in the request. * The update is performed only on selected fields included as part - * of update-mask. Only the following fields can be modified: user_license. + * of update-mask. * @example * ```js * // Before running the sample: @@ -58964,7 +59534,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -58979,6 +59548,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -59164,6 +59734,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -59358,6 +59929,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -59701,6 +60273,41 @@ export namespace compute_alpha { */ requestBody?: Schema$BulkZoneSetLabelsRequest; } + export interface Params$Resource$Disks$Convert extends StandardParameters { + /** + * Name of the Disk resource, should conform to RFC1035. + */ + disk?: 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$DisksConvertRequest; + } export interface Params$Resource$Disks$Createsnapshot extends StandardParameters { /** * Name of the persistent disk to snapshot. @@ -60535,6 +61142,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -61666,6 +62274,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -62021,6 +62630,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -62440,6 +63050,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -62998,6 +63609,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -63202,6 +63814,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -63408,6 +64021,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -63590,6 +64204,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -63770,6 +64385,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -63937,6 +64553,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -64929,6 +65546,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -65504,6 +66122,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -65711,6 +66330,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -65917,6 +66537,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -66126,6 +66747,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -66308,6 +66930,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -66490,6 +67113,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -66675,6 +67299,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -67725,6 +68350,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -68099,6 +68725,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -68546,6 +69173,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -68916,6 +69544,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -69608,6 +70237,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -70032,6 +70662,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -70509,6 +71140,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -70705,6 +71337,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -70899,6 +71532,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -71941,6 +72575,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -72126,6 +72761,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -72293,11 +72929,13 @@ export namespace compute_alpha { * * // Example response * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", * // "autoCreatedReservationsDuration": {}, * // "autoDeleteAutoCreatedReservations": false, * // "commitmentInfo": {}, + * // "confidentialComputeType": "my_confidentialComputeType", * // "creationTimestamp": "my_creationTimestamp", * // "deploymentType": "my_deploymentType", * // "description": "my_description", @@ -72475,11 +73113,13 @@ export namespace compute_alpha { * 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", @@ -72513,6 +73153,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -72943,11 +73584,13 @@ export namespace compute_alpha { * 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", @@ -72981,6 +73624,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -73547,6 +74191,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -74071,6 +74716,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -74496,6 +75142,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -74675,6 +75322,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -75246,6 +75894,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -75784,6 +76433,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -76205,6 +76855,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -76678,6 +77329,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -76858,6 +77510,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -77050,6 +77703,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -77669,6 +78323,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -77857,6 +78512,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -78049,6 +78705,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -78343,6 +79000,20 @@ export namespace compute_alpha { /** * 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: @@ -78432,6 +79103,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -79829,6 +80501,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -80250,6 +80923,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -80820,6 +81494,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -81370,6 +82045,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -81744,6 +82420,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -82196,6 +82873,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -82863,6 +83541,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -83369,6 +84048,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -84057,6 +84737,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -84929,6 +85610,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -85114,6 +85796,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -85471,6 +86154,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -85909,6 +86593,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -86691,6 +87376,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -87068,6 +87754,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -87518,6 +88205,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -87888,6 +88576,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -88442,6 +89131,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -88802,6 +89492,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -89245,6 +89936,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -89606,6 +90298,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -90041,6 +90734,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -90401,6 +91095,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -90846,6 +91541,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -91207,6 +91903,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -91811,6 +92508,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -92008,6 +92706,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -92209,8 +92908,7 @@ export namespace compute_alpha { * // "sourceSnapshotId": "my_sourceSnapshotId", * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * } * @@ -92393,8 +93091,7 @@ export namespace compute_alpha { * // "sourceSnapshotId": "my_sourceSnapshotId", * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * } * @@ -92739,8 +93436,7 @@ export namespace compute_alpha { * // "sourceSnapshotId": "my_sourceSnapshotId", * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * }, * }); @@ -92753,6 +93449,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -93209,8 +93906,7 @@ export namespace compute_alpha { * // "sourceSnapshotId": "my_sourceSnapshotId", * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * }, * }); @@ -93223,6 +93919,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -93558,6 +94255,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -94221,6 +94919,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -94424,6 +95123,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -94834,6 +95534,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -95549,6 +96250,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -95978,6 +96680,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "allInstances": false, + * // "disruptionMode": "my_disruptionMode", * // "instances": [], * // "maximalAction": "my_maximalAction", * // "minimalAction": "my_minimalAction", @@ -95994,6 +96697,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -96118,10 +96822,7 @@ export namespace compute_alpha { } /** - * 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. + * Updates the accelerator topologies configuration. * @example * ```js * // Before running the sample: @@ -96153,39 +96854,40 @@ 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', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-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', + * 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 - * // { - * // "instances": [] - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "acceleratorTopologyActions": {} + * // } + * }, + * }); * console.log(res.data); * * // Example response @@ -96195,6 +96897,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -96232,32 +96935,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. */ - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: StreamMethodOptions ): Promise>; - createInstances( - params?: Params$Resource$Instancegroupmanagers$Createinstances, + configureAcceleratorTopologies( + params?: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options?: MethodOptions ): Promise>; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, callback: BodyResponseCallback ): void; - createInstances(callback: BodyResponseCallback): void; - createInstances( + configureAcceleratorTopologies( + callback: BodyResponseCallback + ): void; + configureAcceleratorTopologies( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Createinstances + | Params$Resource$Instancegroupmanagers$Configureacceleratortopologies | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -96273,12 +96978,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Createinstances; + {}) as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Createinstances; + params = + {} as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; options = {}; } @@ -96293,7 +96999,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -96316,10 +97022,10 @@ export namespace compute_alpha { } /** - * 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 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: @@ -96351,8 +97057,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. + * 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: @@ -96364,16 +97071,24 @@ 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 + * // { + * // "instances": [] + * // } + * }, * }); * console.log(res.data); * @@ -96384,6 +97099,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -96421,32 +97137,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, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Instancegroupmanagers$Delete, + createInstances( + params?: Params$Resource$Instancegroupmanagers$Createinstances, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + createInstances(callback: BodyResponseCallback): void; + createInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Delete + | Params$Resource$Instancegroupmanagers$Createinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -96462,12 +97178,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Delete; + {}) as Params$Resource$Instancegroupmanagers$Createinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Delete; + params = {} as Params$Resource$Instancegroupmanagers$Createinstances; options = {}; } @@ -96482,9 +97198,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options @@ -96505,21 +97221,10 @@ 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. + * 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: @@ -96551,8 +97256,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.deleteInstances({ - * // 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', * // Project ID for this request. * project: @@ -96574,16 +97279,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 - * // { - * // "instanceNames": [], - * // "instances": [], - * // "skipInstancesOnValidationError": false - * // } - * }, * }); * console.log(res.data); * @@ -96594,6 +97289,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -96631,32 +97327,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. */ - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: StreamMethodOptions ): Promise>; - deleteInstances( - params?: Params$Resource$Instancegroupmanagers$Deleteinstances, + delete( + params?: Params$Resource$Instancegroupmanagers$Delete, options?: MethodOptions ): Promise>; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, callback: BodyResponseCallback ): void; - deleteInstances(callback: BodyResponseCallback): void; - deleteInstances( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Deleteinstances + | Params$Resource$Instancegroupmanagers$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -96672,12 +97368,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Deleteinstances; + {}) as Params$Resource$Instancegroupmanagers$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Deleteinstances; + params = {} as Params$Resource$Instancegroupmanagers$Delete; options = {}; } @@ -96692,9 +97388,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options @@ -96715,8 +97411,21 @@ export namespace compute_alpha { } /** - * Deletes selected per-instance configurations for the managed instance - * group. + * 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. * @example * ```js * // Before running the sample: @@ -96748,24 +97457,37 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.deletePerInstanceConfigs({ + * const res = await compute.instanceGroupManagers.deleteInstances({ * // 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])?))', - * // The name of thezone - * // where the managed instance - * // group is located. - * // It should conform to RFC1035. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate 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 * // { - * // "names": [] + * // "instanceNames": [], + * // "instances": [], + * // "skipInstancesOnValidationError": false * // } * }, * }); @@ -96778,6 +97500,192 @@ export namespace compute_alpha { * // "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. + */ + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, + options: StreamMethodOptions + ): Promise>; + deleteInstances( + params?: Params$Resource$Instancegroupmanagers$Deleteinstances, + options?: MethodOptions + ): Promise>; + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, + callback: BodyResponseCallback + ): void; + deleteInstances(callback: BodyResponseCallback): void; + deleteInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Deleteinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Deleteinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Deleteinstances; + 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}/deleteInstances' + ).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); + } + } + + /** + * Deletes selected per-instance configurations for the managed 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.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])?))', + * // 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 + * // { + * // "names": [] + * // } + * }, + * }); + * 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", @@ -97139,7 +98047,8 @@ export namespace compute_alpha { * * // Example response * // { - * // "acceleratorTopologiesInfo": {} + * // "acceleratorTopologiesInfo": {}, + * // "multiMig": "my_multiMig" * // } * } * @@ -97369,6 +98278,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -98613,6 +99523,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -98811,6 +99722,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -99020,6 +99932,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -99232,6 +100145,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -99442,6 +100356,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -99651,6 +100566,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -99847,6 +100763,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -100046,6 +100963,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -100247,6 +101165,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -100456,6 +101375,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -100675,6 +101595,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -100894,6 +101815,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -101295,6 +102217,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -101493,6 +102416,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -101792,6 +102716,43 @@ export namespace compute_alpha { */ 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. @@ -103048,6 +104009,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -103491,6 +104453,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -103862,6 +104825,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -104562,6 +105526,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -104757,6 +105722,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -105682,6 +106648,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -105898,6 +106865,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -106093,6 +107061,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -106555,8 +107524,7 @@ export namespace compute_alpha { * // "savedState": "my_savedState", * // "shieldedInstanceInitialState": {}, * // "source": "my_source", - * // "type": "my_type", - * // "userLicenses": [] + * // "type": "my_type" * // } * }, * }); @@ -106569,6 +107537,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -106769,6 +107738,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -106957,6 +107927,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -107145,6 +108116,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -107343,6 +108315,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -107533,6 +108506,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -109153,10 +110127,10 @@ export namespace compute_alpha { * // { * // "enforcementMsg": "my_enforcementMsg", * // "enforcementState": "my_enforcementState", + * // "healthMsg": "my_healthMsg", * // "healthStatus": "my_healthStatus", * // "name": "my_name", * // "policyId": "my_policyId", - * // "unhealthyMsg": "my_unhealthyMsg", * // "version": "my_version" * // } * } @@ -109408,6 +110382,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -110336,6 +111311,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -110523,6 +111499,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -110716,6 +111693,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -110913,6 +111891,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -111100,6 +112079,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -111294,6 +112274,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -111618,6 +112599,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -111810,6 +112792,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -112170,6 +113153,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -112364,6 +113348,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -112558,6 +113543,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -112754,6 +113740,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -112950,6 +113937,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -113144,6 +114132,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -113364,6 +114353,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -113561,6 +114551,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -113757,6 +114748,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -113953,6 +114945,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -114152,6 +115145,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -114349,6 +115343,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -114538,6 +115533,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -114727,6 +115723,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -114922,6 +115919,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -115120,6 +116118,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -115315,6 +116314,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -115745,6 +116745,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -115953,6 +116954,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -116149,6 +117151,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -116371,6 +117374,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -116571,6 +117575,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -116771,6 +117776,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -119319,6 +120325,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -119813,6 +120820,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -120322,6 +121330,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -121406,6 +122415,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -121921,6 +122931,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -123181,6 +124192,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -123714,6 +124726,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -124307,6 +125320,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -125045,6 +126059,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -125231,6 +126246,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -125903,6 +126919,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -126359,6 +127376,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -127402,6 +128420,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -127993,6 +129012,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -128480,6 +129500,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -128835,6 +129856,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -129612,6 +130634,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -129796,6 +130819,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -130457,6 +131481,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -130907,6 +131932,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -132747,6 +133773,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -133625,6 +134652,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -134089,6 +135117,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -134426,6 +135455,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -135752,6 +136782,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -136287,6 +137318,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -137063,6 +138095,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -137500,6 +138533,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -138031,6 +139065,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -138601,6 +139636,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -140339,6 +141375,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -140858,6 +141895,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -141308,6 +142346,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -142478,6 +143517,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -142841,6 +143881,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -143048,6 +144089,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -143752,6 +144794,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -143945,6 +144988,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -144141,6 +145185,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -144438,6 +145483,20 @@ export namespace compute_alpha { /** * 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: @@ -144531,6 +145590,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -145923,6 +146983,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -146136,6 +147197,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -146352,6 +147414,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -146799,6 +147862,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -146982,6 +148046,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -147986,6 +149051,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -148430,6 +149496,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -148626,6 +149693,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -148835,6 +149903,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -149047,6 +150116,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -149232,6 +150302,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -149418,6 +150489,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -149606,6 +150678,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -151390,6 +152463,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -151583,6 +152657,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -151768,6 +152843,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -152296,6 +153372,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -153477,6 +154554,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -153667,6 +154745,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -153859,6 +154938,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -154044,6 +155124,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -154393,6 +155474,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -155360,6 +156442,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -155800,6 +156883,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -155993,6 +157077,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -156521,6 +157606,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -157207,6 +158293,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -157400,6 +158487,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -157752,6 +158840,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -157946,6 +159035,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -159238,6 +160328,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -159760,6 +160851,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -161785,6 +162877,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -161996,6 +163089,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -162183,6 +163277,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -162367,6 +163462,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -163077,6 +164173,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -163902,6 +164999,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -164119,6 +165217,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -164334,6 +165433,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -164521,6 +165621,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -164709,6 +165810,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -165572,6 +166674,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -166059,6 +167162,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -166423,6 +167527,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -166870,6 +167975,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -167980,6 +169086,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -168314,6 +169421,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -168503,6 +169611,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -168683,6 +169792,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -168873,6 +169983,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -169872,6 +170983,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -170067,6 +171179,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -170258,6 +171371,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -170449,6 +171563,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -170642,6 +171757,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -170835,6 +171951,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -171029,6 +172146,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -171226,6 +172344,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -171957,6 +173076,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -172141,6 +173261,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -172508,6 +173629,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -172957,6 +174079,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -173140,6 +174263,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -173845,6 +174969,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -174030,6 +175155,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -174408,6 +175534,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -174864,6 +175991,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -175050,6 +176178,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -175900,6 +177029,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -176635,6 +177765,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -177480,6 +178611,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -177846,6 +178978,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -178296,6 +179429,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -178662,6 +179796,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -179132,6 +180267,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -179654,6 +180790,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -180348,6 +181485,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -181249,6 +182387,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -181452,6 +182591,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -181978,6 +183118,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -182009,6 +183150,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -182710,6 +183852,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -182741,6 +183884,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -183096,6 +184240,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -183473,6 +184618,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -183504,6 +184650,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -184424,6 +185571,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -184612,6 +185760,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -184996,6 +186145,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -185614,6 +186764,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -185808,6 +186959,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -186692,6 +187844,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -187019,7 +188172,8 @@ export namespace compute_alpha { * // Example response * // { * // "healthSources": [], - * // "healthState": "my_healthState" + * // "healthState": "my_healthState", + * // "kind": "my_kind" * // } * } * @@ -187042,9 +188196,7 @@ export namespace compute_alpha { getHealth( params?: Params$Resource$Regioncompositehealthchecks$Gethealth, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; getHealth( params: Params$Resource$Regioncompositehealthchecks$Gethealth, options: StreamMethodOptions | BodyResponseCallback, @@ -187054,34 +188206,32 @@ export namespace compute_alpha { params: Params$Resource$Regioncompositehealthchecks$Gethealth, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; getHealth( params: Params$Resource$Regioncompositehealthchecks$Gethealth, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; getHealth( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; getHealth( paramsOrCallback?: | Params$Resource$Regioncompositehealthchecks$Gethealth - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || {}) as Params$Resource$Regioncompositehealthchecks$Gethealth; @@ -187117,14 +188267,12 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -187210,6 +188358,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -187656,6 +188805,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -188389,6 +189539,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -188582,6 +189733,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -188811,8 +189963,7 @@ export namespace compute_alpha { * // "status": "my_status", * // "storageBytes": "my_storageBytes", * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * }, * }); @@ -188825,6 +189976,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -189014,6 +190166,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -189239,7 +190392,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -189768,7 +190920,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -189783,6 +190934,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -190213,6 +191365,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -190408,6 +191561,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -190761,6 +191915,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -190955,6 +192110,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -191143,6 +192299,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -191338,6 +192495,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -191620,8 +192778,7 @@ export namespace compute_alpha { /** * Update the specified disk with the data included in the request. Update is - * performed only on selected fields included as part of update-mask. Only the - * following fields can be modified: user_license. + * performed only on selected fields included as part of update-mask. * @example * ```js * // Before running the sample: @@ -191742,7 +192899,6 @@ export namespace compute_alpha { * // "storagePool": "my_storagePool", * // "storageType": "my_storageType", * // "type": "my_type", - * // "userLicenses": [], * // "users": [], * // "zone": "my_zone" * // } @@ -191757,6 +192913,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -191943,6 +193100,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -192137,6 +193295,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -193161,6 +194320,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -194186,6 +195346,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -194549,6 +195710,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -194998,6 +196160,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -195707,6 +196870,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -196089,6 +197253,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -196545,6 +197710,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -196919,6 +198085,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -197646,6 +198813,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -198011,6 +199179,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -198461,6 +199630,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -199427,6 +200597,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -199705,8 +200876,8 @@ export namespace compute_alpha { } /** - * Create a HealthSource in the specified project in the given region - * using the parameters that are included in the request. + * Gets the most recent health check results for this + * regional HealthSource. * @example * ```js * // Before running the sample: @@ -199730,6 +200901,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', * ], * }); * @@ -199738,77 +200910,22 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthSources.insert({ - * // Project ID for this request. + * const res = await compute.regionHealthSources.getHealth({ + * // Name of the HealthSource resource to get health for. + * healthSource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // 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 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 - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "healthAggregationPolicy": "my_healthAggregationPolicy", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceType": "my_sourceType", - * // "sources": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "healthState": "my_healthState", * // "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" + * // "sources": [] * // } * } * @@ -199824,53 +200941,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$Regionhealthsources$Insert, + getHealth( + params: Params$Resource$Regionhealthsources$Gethealth, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Regionhealthsources$Insert, + getHealth( + params?: Params$Resource$Regionhealthsources$Gethealth, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Regionhealthsources$Insert, + ): Promise>; + getHealth( + params: Params$Resource$Regionhealthsources$Gethealth, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Regionhealthsources$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getHealth( + params: Params$Resource$Regionhealthsources$Gethealth, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Regionhealthsources$Insert, - callback: BodyResponseCallback + getHealth( + params: Params$Resource$Regionhealthsources$Gethealth, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + getHealth(callback: BodyResponseCallback): void; + getHealth( paramsOrCallback?: - | Params$Resource$Regionhealthsources$Insert - | BodyResponseCallback + | Params$Resource$Regionhealthsources$Gethealth + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthsources$Insert; + {}) as Params$Resource$Regionhealthsources$Gethealth; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthsources$Insert; + params = {} as Params$Resource$Regionhealthsources$Gethealth; options = {}; } @@ -199885,30 +201002,234 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/healthSources' + '/compute/alpha/projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'region', 'healthSource'], + pathParams: ['healthSource', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the HealthSources for a project in the given region. + * Create a HealthSource in the specified project in the given region + * 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.regionHealthSources.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. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate 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", + * // "fingerprint": "my_fingerprint", + * // "healthAggregationPolicy": "my_healthAggregationPolicy", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceType": "my_sourceType", + * // "sources": [] + * // } + * }, + * }); + * 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$Regionhealthsources$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Regionhealthsources$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Regionhealthsources$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionhealthsources$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionhealthsources$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Regionhealthsources$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthsources$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionhealthsources$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}/regions/{region}/healthSources' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the HealthSources for a project in the given region. * @example * ```js * // Before running the sample: @@ -200232,6 +201553,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -200674,151 +201996,165 @@ export namespace compute_alpha { */ region?: string; } - export interface Params$Resource$Regionhealthsources$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$HealthSource; - } - export interface Params$Resource$Regionhealthsources$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; + export interface Params$Resource$Regionhealthsources$Gethealth 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`) - */ - 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. + * Name of the HealthSource resource to get health for. */ - pageToken?: string; + healthSource?: string; /** - * Project ID for this request. + * Name of the project scoping 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$Regionhealthsources$Patch extends StandardParameters { - /** - * Name of the HealthSource to update. The name - * must be 1-63 characters long, and comply with RFC1035. - */ - healthSource?: string; + export interface Params$Resource$Regionhealthsources$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$HealthSource; + } + export interface Params$Resource$Regionhealthsources$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 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$Regionhealthsources$Patch extends StandardParameters { + /** + * Name of the HealthSource to update. The name + * must be 1-63 characters long, and comply with RFC1035. + */ + healthSource?: string; /** * Project ID for this request. */ @@ -200948,6 +202284,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -201151,6 +202488,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -201560,6 +202898,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -202275,6 +203614,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -202477,6 +203817,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -202646,6 +203987,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "allInstances": false, + * // "disruptionMode": "my_disruptionMode", * // "instances": [], * // "maximalAction": "my_maximalAction", * // "minimalAction": "my_minimalAction", @@ -202663,6 +204005,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -202866,6 +204209,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -203053,6 +204397,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -203261,6 +204606,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -203443,6 +204789,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -203869,6 +205216,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -205107,6 +206455,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -205305,6 +206654,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -205513,6 +206863,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -205714,6 +207065,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -205925,6 +207277,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -206134,6 +207487,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -206330,6 +207684,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -206527,6 +207882,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -206723,6 +208079,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -206932,6 +208289,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -207151,6 +208509,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -207370,6 +208729,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -207772,6 +209132,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -207969,6 +209330,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -210052,6 +211414,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -210711,6 +212074,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -210936,6 +212300,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -211296,6 +212661,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -211922,6 +213288,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -212438,6 +213805,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -213443,6 +214811,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -213976,6 +215345,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -214569,6 +215939,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -215731,6 +217102,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -216084,6 +217456,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -216708,6 +218081,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -216899,6 +218273,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -217096,6 +218471,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -217393,6 +218769,20 @@ export namespace compute_alpha { /** * 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: @@ -217486,6 +218876,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -218573,6 +219964,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -218789,6 +220181,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -218976,6 +220369,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -219161,6 +220555,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -220171,6 +221566,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -220620,6 +222016,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -220818,6 +222215,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -221030,6 +222428,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -221217,6 +222616,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -221405,6 +222805,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -222518,6 +223919,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -222720,6 +224122,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -223162,6 +224565,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -223841,6 +225245,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -224282,6 +225687,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -224488,6 +225894,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -224678,6 +226085,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -224866,6 +226274,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -225872,6 +227281,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -226226,6 +227636,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -227265,6 +228676,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -227691,6 +229103,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -228038,6 +229451,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -228782,6 +230196,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -230099,6 +231514,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -230284,6 +231700,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -230836,6 +232253,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -231298,6 +232716,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -231502,6 +232921,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -231675,6 +233095,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -231871,6 +233292,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -232426,6 +233848,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -232636,8 +234059,7 @@ export namespace compute_alpha { * // "status": "my_status", * // "storageBytes": "my_storageBytes", * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * } * @@ -232990,8 +234412,7 @@ export namespace compute_alpha { * // "status": "my_status", * // "storageBytes": "my_storageBytes", * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * }, * }); @@ -233004,6 +234425,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -233597,6 +235019,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -233941,6 +235364,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -234592,6 +236016,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -234830,6 +236255,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -235198,6 +236624,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -235992,6 +237419,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -236169,6 +237597,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -236341,6 +237770,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -236359,6 +237789,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -237030,6 +238461,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -237048,6 +238480,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -237747,6 +239180,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -238109,6 +239543,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -238540,6 +239975,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -239129,6 +240565,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -239509,6 +240946,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -239966,6 +241404,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -240160,6 +241599,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -240354,6 +241794,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -241014,6 +242455,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -241372,6 +242814,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -242153,6 +243596,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -242510,6 +243954,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -242701,6 +244146,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -243139,6 +244585,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -243495,6 +244942,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -245400,6 +246848,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -246025,6 +247474,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -246195,11 +247645,13 @@ export namespace compute_alpha { * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", + * // "confidentialComputeType": "my_confidentialComputeType", * // "creationTimestamp": "my_creationTimestamp", * // "deleteAfterDuration": {}, * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", @@ -246531,11 +247983,13 @@ export namespace compute_alpha { * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", + * // "confidentialComputeType": "my_confidentialComputeType", * // "creationTimestamp": "my_creationTimestamp", * // "deleteAfterDuration": {}, * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", @@ -246568,6 +248022,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -246999,6 +248454,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -247194,6 +248650,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -247697,11 +249154,13 @@ export namespace compute_alpha { * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", + * // "confidentialComputeType": "my_confidentialComputeType", * // "creationTimestamp": "my_creationTimestamp", * // "deleteAfterDuration": {}, * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", @@ -247734,6 +249193,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -248488,6 +249948,204 @@ export namespace compute_alpha { } } + /** + * Allows customers to get SBOM versions of a reservation slot. + * @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.reservationSlots.getVersion({ + * // The name of the parent reservation and parent block. In the format of + * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\}/reservationSubBlocks/{reservation_sub_block_name\} + * parentName: + * 'reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})', + * // Project ID for this request. + * 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', + * // The name of the reservation slot. + * // Name should conform to RFC1035 or be a resource ID. + * reservationSlot: '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); + * + * // 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. + */ + getVersion( + params: Params$Resource$Reservationslots$Getversion, + options: StreamMethodOptions + ): Promise>; + getVersion( + params?: Params$Resource$Reservationslots$Getversion, + options?: MethodOptions + ): Promise>; + getVersion( + params: Params$Resource$Reservationslots$Getversion, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVersion( + params: Params$Resource$Reservationslots$Getversion, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVersion( + params: Params$Resource$Reservationslots$Getversion, + callback: BodyResponseCallback + ): void; + getVersion(callback: BodyResponseCallback): void; + getVersion( + paramsOrCallback?: + | Params$Resource$Reservationslots$Getversion + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationslots$Getversion; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationslots$Getversion; + 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}/{+parentName}/reservationSlots/{reservationSlot}/getVersion' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'parentName', 'reservationSlot'], + pathParams: ['parentName', 'project', 'reservationSlot', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves a list of reservation slots under a single reservation. * @example @@ -248733,6 +250391,200 @@ export namespace compute_alpha { ); } } + + /** + * Update a reservation slot in the specified sub-block. + * @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.reservationSlots.update({ + * // The name of the sub-block resource. + * parentName: + * 'reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})', + * // The project ID for this request. + * project: 'placeholder-value', + * // The name of the slot resource. + * reservationSlot: 'placeholder-value', + * // The fields to be updated as part of this request. + * updateMask: 'placeholder-value', + * // The name of the zone for this request, formatted as RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "physicalTopology": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shareSettings": {}, + * // "state": "my_state", + * // "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. + */ + update( + params: Params$Resource$Reservationslots$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Reservationslots$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Reservationslots$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Reservationslots$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Reservationslots$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Reservationslots$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationslots$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationslots$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}/{+parentName}/reservationSlots/{reservationSlot}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'parentName', 'reservationSlot'], + pathParams: ['parentName', 'project', 'reservationSlot', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Reservationslots$Get extends StandardParameters { @@ -248755,6 +250607,47 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservationslots$Getversion extends StandardParameters { + /** + * The name of the parent reservation and parent block. In the format of + * reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\}/reservationSubBlocks/{reservation_sub_block_name\} + */ + parentName?: 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 reservation slot. + * Name should conform to RFC1035 or be a resource ID. + */ + reservationSlot?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationSlotsGetVersionRequest; + } export interface Params$Resource$Reservationslots$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most @@ -248868,6 +250761,33 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservationslots$Update extends StandardParameters { + /** + * The name of the sub-block resource. + */ + parentName?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the slot resource. + */ + reservationSlot?: string; + /** + * The fields to be updated as part of this request. + */ + updateMask?: string; + /** + * The name of the zone for this request, formatted as RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationSlot; + } export class Resource$Reservationsubblocks { context: APIRequestContext; @@ -248912,7 +250832,8 @@ export namespace compute_alpha { * const res = await compute.reservationSubBlocks.get({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // The name of the reservation subBlock. @@ -249008,7 +250929,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}' + '/compute/alpha/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -249037,6 +250958,209 @@ export namespace compute_alpha { } } + /** + * Allows customers to get SBOM versions of a reservation subBlock. + * @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.reservationSubBlocks.getVersion({ + * // The name of the parent reservation and parent block. In the format of + * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', + * // Project ID for this request. + * 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', + * // The name of the reservation subBlock. + * // Name should conform to RFC1035 or be a resource ID. + * reservationSubBlock: '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); + * + * // 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. + */ + getVersion( + params: Params$Resource$Reservationsubblocks$Getversion, + options: StreamMethodOptions + ): Promise>; + getVersion( + params?: Params$Resource$Reservationsubblocks$Getversion, + options?: MethodOptions + ): Promise>; + getVersion( + params: Params$Resource$Reservationsubblocks$Getversion, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVersion( + params: Params$Resource$Reservationsubblocks$Getversion, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVersion( + params: Params$Resource$Reservationsubblocks$Getversion, + callback: BodyResponseCallback + ): void; + getVersion(callback: BodyResponseCallback): void; + getVersion( + paramsOrCallback?: + | Params$Resource$Reservationsubblocks$Getversion + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationsubblocks$Getversion; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationsubblocks$Getversion; + 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}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'project', + 'zone', + 'parentName', + 'reservationSubBlock', + ], + pathParams: ['parentName', 'project', 'reservationSubBlock', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves a list of reservation subBlocks under a single reservation. * @example @@ -249155,7 +251279,8 @@ export namespace compute_alpha { * pageToken: 'placeholder-value', * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // Opt-in for partial success behavior which provides partial results in case @@ -249262,7 +251387,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks' + '/compute/alpha/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -249322,7 +251447,8 @@ export namespace compute_alpha { * const res = await compute.reservationSubBlocks.performMaintenance({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so @@ -249354,6 +251480,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -249452,7 +251579,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' + '/compute/alpha/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -249515,7 +251642,8 @@ export namespace compute_alpha { * const res = await compute.reservationSubBlocks.reportFaulty({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so @@ -249557,6 +251685,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -249655,7 +251784,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty' + '/compute/alpha/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -249707,6 +251836,47 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservationsubblocks$Getversion extends StandardParameters { + /** + * The name of the parent reservation and parent block. In the format of + * reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} + */ + parentName?: 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 reservation subBlock. + * Name should conform to RFC1035 or be a resource ID. + */ + reservationSubBlock?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationSubBlocksGetVersionRequest; + } export interface Params$Resource$Reservationsubblocks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most @@ -250226,6 +252396,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -250745,6 +252916,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -251195,6 +253367,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -252104,6 +254277,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -252452,6 +254626,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -253051,6 +255226,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -253233,6 +255409,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -253377,7 +255554,399 @@ 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/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.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 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", + * // "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$Rollouts$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Rollouts$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Rollouts$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Rollouts$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Rollouts$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Rollouts$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Rollouts$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/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'rollout'], + pathParams: ['project', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Rollouts in a given project 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('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.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/alpha/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('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', * ], * }); * @@ -253386,32 +255955,63 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.rollouts.get({ - * // Project ID for this request. + * 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])?))', - * // Name of the persistent rollout 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). + * 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 * // { - * // "cancellationTime": "my_cancellationTime", - * // "completionTime": "my_completionTime", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "currentWaveNumber": "my_currentWaveNumber", * // "description": "my_description", - * // "etag": "my_etag", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "rolloutEntity": {}, - * // "rolloutPlan": "my_rolloutPlan", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "waveDetails": [] + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -253427,52 +256027,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$Rollouts$Get, + pause( + params: Params$Resource$Rollouts$Pause, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Rollouts$Get, + pause( + params?: Params$Resource$Rollouts$Pause, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Rollouts$Get, + ): Promise>; + pause( + params: Params$Resource$Rollouts$Pause, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Rollouts$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + pause( + params: Params$Resource$Rollouts$Pause, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Rollouts$Get, - callback: BodyResponseCallback + pause( + params: Params$Resource$Rollouts$Pause, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + pause(callback: BodyResponseCallback): void; + pause( paramsOrCallback?: - | Params$Resource$Rollouts$Get - | BodyResponseCallback + | Params$Resource$Rollouts$Pause + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Pause; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Rollouts$Get; + params = {} as Params$Resource$Rollouts$Pause; options = {}; } @@ -253487,9 +256087,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/rollouts/{rollout}' + '/compute/alpha/projects/{project}/global/rollouts/{rollout}/pause' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -253500,17 +256100,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Rollouts in a given project and location. + * Resumes a Rollout. * @example * ```js * // Before running the sample: @@ -253534,7 +256134,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', * ], * }); * @@ -253543,110 +256142,63 @@ export namespace compute_alpha { * 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": {} + * // "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" * // } * } * @@ -253662,54 +256214,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$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 = {}; } @@ -253723,25 +256273,26 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/rollouts' + rootUrl + + '/compute/alpha/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); } } } @@ -253919,6 +256470,70 @@ export namespace compute_alpha { */ 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; @@ -254244,6 +256859,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -254430,6 +257046,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -254617,6 +257234,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -255848,6 +258466,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -257048,6 +259667,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -257244,6 +259864,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -257441,6 +260062,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -257985,6 +260607,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -258181,6 +260804,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -258378,6 +261002,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -259741,6 +262366,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -260131,6 +262757,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -260905,6 +263532,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -261346,6 +263974,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -261892,6 +264521,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -262591,6 +265221,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -262793,6 +265424,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -262964,6 +265596,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -263144,6 +265777,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -264287,6 +266921,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -264821,6 +267456,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -265278,6 +267914,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -266184,6 +268821,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -266688,6 +269326,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -267793,6 +270432,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -268283,6 +270923,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -268490,8 +271131,7 @@ export namespace compute_alpha { * // "status": "my_status", * // "storageBytes": "my_storageBytes", * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * } * @@ -268998,8 +271638,7 @@ export namespace compute_alpha { * // "status": "my_status", * // "storageBytes": "my_storageBytes", * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [], - * // "userLicenses": [] + * // "storageLocations": [] * // } * }, * }); @@ -269012,6 +271651,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -269580,6 +272220,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -269920,6 +272561,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -270644,6 +273286,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -271129,6 +273772,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -271491,6 +274135,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -272634,6 +275279,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -272809,6 +275455,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -272977,6 +275624,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -272995,6 +275643,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -273657,6 +276306,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "minTlsVersion": "my_minTlsVersion", * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", * // "profile": "my_profile", * // "region": "my_region", * // "selfLink": "my_selfLink", @@ -273675,6 +276325,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -274722,6 +277373,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -275258,6 +277910,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -276097,6 +278750,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -276477,6 +279131,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -278378,6 +281033,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -278571,6 +281227,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -279144,6 +281801,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -279880,6 +282538,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -280233,6 +282892,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -281193,6 +283853,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -281545,6 +284206,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -281983,6 +284645,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -282800,6 +285463,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -283158,6 +285822,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -283600,6 +286265,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -283791,6 +286457,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -284758,6 +287425,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -285134,6 +287802,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -285587,6 +288256,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -285779,6 +288449,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -285971,6 +288642,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -286163,6 +288835,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -286358,6 +289031,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -286550,6 +289224,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -287647,6 +290322,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -288007,6 +290683,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -288441,6 +291118,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -289157,6 +291835,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -289350,6 +292029,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -289789,6 +292469,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -290312,6 +292993,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -290742,6 +293424,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -290935,6 +293618,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -291130,6 +293814,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -291326,6 +294011,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -292230,6 +294916,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -292584,6 +295271,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -293012,6 +295700,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -293204,6 +295893,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -293395,6 +296085,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -293587,6 +296278,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -293782,6 +296474,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -294727,6 +297420,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -295081,6 +297775,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -295509,6 +298204,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -295700,6 +298396,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -296669,6 +299366,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -297033,6 +299731,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -297468,6 +300167,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -298427,6 +301127,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -298789,6 +301490,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -298987,6 +301689,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -299430,6 +302133,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -299792,6 +302496,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -300804,6 +303509,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -301319,6 +304025,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -301751,6 +304458,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -302726,6 +305434,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -303115,6 +305824,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -303547,6 +306257,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -304254,6 +306965,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -304622,6 +307334,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -305074,6 +307787,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -305485,6 +308199,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -306163,6 +308878,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -306588,6 +309304,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -306921,6 +309638,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -307731,6 +310449,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -307920,6 +310639,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -308279,6 +310999,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -309030,6 +311751,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "name": "my_name", * // "region": "my_region", + * // "resourceStatus": {}, * // "selfLink": "my_selfLink", * // "status": "my_status", * // "supportsPzs": false @@ -309550,6 +312272,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -310059,6 +312782,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", @@ -310750,6 +313474,7 @@ export namespace compute_alpha { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, * // "id": "my_id", diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 53a22c0d4f0..9a39d4b1d67 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -1179,7 +1179,7 @@ export namespace compute_beta { } /** * Properties of the SKU instances being reserved. - * Next ID: 9 + * Next ID: 10 */ export interface Schema$AllocationSpecificSKUAllocationReservedInstanceProperties { /** @@ -4946,6 +4946,208 @@ export namespace compute_beta { */ queryStringWhitelist?: string[] | null; } + /** + * Message containing CachePolicy configuration for URL Map's Route Action. + */ + export interface Schema$CachePolicy { + /** + * Bypass the cache when the specified request headers are matched by name, + * e.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5 + * header names can be specified. The cache is bypassed for all + * cachePolicy.cacheMode settings. + */ + cacheBypassRequestHeaderNames?: string[] | null; + /** + * The CacheKeyPolicy for this CachePolicy. + */ + cacheKeyPolicy?: Schema$CachePolicyCacheKeyPolicy; + /** + * Specifies the cache setting for all responses from this route. + * If not specified, the default value is CACHE_ALL_STATIC. + */ + cacheMode?: string | null; + /** + * Specifies a separate client (e.g. browser client) maximum TTL. This is + * used to clamp the max-age (or Expires) value sent to the client. With + * FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the + * response max-age directive, along with a "public" directive. For + * cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age + * from the origin (if specified), or else sets the response max-age + * directive to the lesser of the client_ttl and default_ttl, and also + * ensures a "public" cache-control directive is present. + * If a client TTL is not specified, a default value (1 hour) will be used. + * The maximum allowed value is 31,622,400s (1 year). + */ + clientTtl?: Schema$Duration; + /** + * Specifies the default TTL for cached content served by this origin for + * responses that do not have an existing valid TTL (max-age or s-maxage). + * Setting a TTL of "0" means "always revalidate". + * The value of defaultTTL cannot be set to a value greater than that of + * maxTTL. + * When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL + * will overwrite the TTL set in all responses. The maximum allowed value is + * 31,622,400s (1 year). Infrequently accessed objects may be evicted from + * the cache before the defined TTL. + */ + defaultTtl?: Schema$Duration; + /** + * Specifies the maximum allowed TTL for cached content served by this + * origin. + * Cache directives that attempt to set a max-age or s-maxage higher than + * this, or an Expires header more than maxTTL seconds in the future will + * be capped at the value of maxTTL, as if it were the value of an + * s-maxage Cache-Control directive. + * Headers sent to the client will not be modified. + * Setting a TTL of "0" means "always revalidate". + * The maximum allowed value is 31,622,400s (1 year). Infrequently accessed + * objects may be evicted from the cache before the defined TTL. + */ + maxTtl?: Schema$Duration; + /** + * Negative caching allows per-status code TTLs to be set, in order + * to apply fine-grained caching for common errors or redirects. + * This can reduce the load on your origin and improve end-user + * experience by reducing response latency. + * When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, + * negative caching applies to responses with the specified response code + * that lack any Cache-Control, Expires, or Pragma: no-cache directives. + * When the cache mode is set to FORCE_CACHE_ALL, negative caching applies + * to all responses with the specified response code, and override any + * caching headers. + * By default, Cloud CDN will apply the following default TTLs to these + * status codes: + * HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m + * HTTP 404 (Not Found), 410 (Gone), + * 451 (Unavailable For Legal Reasons): 120s + * HTTP 405 (Method Not Found), 501 (Not Implemented): 60s. + * These defaults can be overridden in negative_caching_policy. + */ + negativeCaching?: boolean | null; + /** + * Sets a cache TTL for the specified HTTP status code. + * negative_caching must be enabled to configure negative_caching_policy. + * Omitting the policy and leaving negative_caching enabled will use + * Cloud CDN's default cache TTLs. + * Note that when specifying an explicit negative_caching_policy, you + * should take care to specify a cache TTL for all response codes + * that you wish to cache. Cloud CDN will not apply any default + * negative caching when a policy exists. + */ + negativeCachingPolicy?: Schema$CachePolicyNegativeCachingPolicy[]; + /** + * If true then Cloud CDN will combine multiple concurrent cache fill + * requests into a small number of requests to the origin. + */ + requestCoalescing?: boolean | null; + /** + * Serve existing content from the cache (if available) when revalidating + * content with the origin, or when an error is encountered when refreshing + * the cache. + * This setting defines the default "max-stale" duration for any cached + * responses that do not specify a max-stale directive. Stale responses that + * exceed the TTL configured here will not be served. The default limit + * (max-stale) is 86400s (1 day), which will allow stale content to be + * served up to this limit beyond the max-age (or s-maxage) of a cached + * response. + * The maximum allowed value is 604800 (1 week). + * Set this to zero (0) to disable serve-while-stale. + */ + serveWhileStale?: Schema$Duration; + } + /** + * Message containing what to include in the cache key for a request for Cache + * Policy defined on Route Action. + */ + export interface Schema$CachePolicyCacheKeyPolicy { + /** + * Names of query string parameters to exclude in cache keys. All other + * parameters will be included. Either specify excluded_query_parameters or + * included_query_parameters, not both. '&' and '=' will be percent encoded + * and not treated as delimiters. + * + * Note: This field applies to routes that use backend services. Attempting + * to set it on a route that points exclusively to Backend Buckets will + * result in a configuration error. For routes that point to a Backend + * Bucket, use includedQueryParameters to define which parameters should + * be a part of the cache key. + */ + excludedQueryParameters?: string[] | null; + /** + * Allows HTTP cookies (by name) to be used in the cache key. + * The name=value pair will be used in the cache key Cloud CDN generates. + * + * Note: This setting is only applicable to routes that use a Backend + * Service. It does not affect requests served by a Backend Bucket. + * Attempting to set it on a route that points exclusively to Backend + * Buckets will result in a configuration error. Up to 5 cookie names can be + * specified. + */ + includedCookieNames?: string[] | null; + /** + * Allows HTTP request headers (by name) to be used in the cache key. + */ + includedHeaderNames?: string[] | null; + /** + * Names of query string parameters to include in cache keys. All other + * parameters will be excluded. Either specify included_query_parameters or + * excluded_query_parameters, not both. '&' and '=' will be percent encoded + * and not treated as delimiters. + */ + includedQueryParameters?: string[] | null; + /** + * If true, requests to different hosts will be cached separately. + * + * Note: This setting is only applicable to routes that use a Backend + * Service. It does not affect requests served by a Backend Bucket, as the + * host is never included in a Backend Bucket's cache key. Attempting to set + * it on a route that points exclusively to Backend Buckets will result in a + * configuration error. + */ + includeHost?: boolean | null; + /** + * If true, http and https requests will be cached separately. + * + * Note: This setting is only applicable to routes that use a Backend + * Service. It does not affect requests served by a Backend Bucket, as the + * protocol is never included in a Backend Bucket's cache key. Attempting to + * set on a route that points exclusively to Backend Buckets will result in + * a configuration error. + */ + includeProtocol?: boolean | null; + /** + * If true, include query string parameters in the cache key according to + * included_query_parameters and excluded_query_parameters. If neither is + * set, the entire query string will be included. If false, the query string + * will be excluded from the cache key entirely. + * + * Note: This field applies to routes that use backend services. Attempting + * to set it on a route that points exclusively to Backend Buckets will + * result in a configuration error. For routes that point to a Backend + * Bucket, use includedQueryParameters to define which parameters should + * be a part of the cache key. + */ + includeQueryString?: boolean | null; + } + /** + * Specify CDN TTLs for response error codes. + */ + export interface Schema$CachePolicyNegativeCachingPolicy { + /** + * The HTTP status code to define a TTL against. Only HTTP status codes + * 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be + * specified as values, and you cannot specify a status code more than + * once. + */ + code?: number | null; + /** + * The TTL (in seconds) for which to cache responses with the + * corresponding status code. + * The maximum allowed value is 1800s (30 minutes). Infrequently accessed + * objects may be evicted from the cache before the defined TTL. + */ + ttl?: Schema$Duration; + } /** * A request to recommend the best way to consume the specified resources in the * future. @@ -8625,6 +8827,11 @@ export namespace compute_beta { } | null; } export interface Schema$FutureReservation { + /** + * Advanced control for cluster management, applicable only to DENSE + * deployment type future reservations. + */ + advancedDeploymentControl?: Schema$ReservationAdvancedDeploymentControl; /** * Aggregate reservation details for the future reservation. */ @@ -11236,6 +11443,11 @@ export namespace compute_beta { retryConditions?: string[] | null; } export interface Schema$HttpRouteAction { + /** + * Cache policy for this URL Map’s route. Available only for Global + * EXTERNAL_MANAGED load balancer schemes. + */ + cachePolicy?: Schema$CachePolicy; /** * The specification for allowing client-side cross-origin requests. For more * information about the W3C recommendation for cross-origin resource sharing @@ -12453,6 +12665,7 @@ export namespace compute_beta { * Multiple tags can be specified via the 'tags.items' field. */ tags?: Schema$Tags; + workloadIdentityConfig?: Schema$WorkloadIdentityConfig; /** * Output only. [Output Only] URL of the zone where the instance resides. * You must specify this field as part of the HTTP request URL. It is @@ -13810,6 +14023,12 @@ export namespace compute_beta { * Output only. [Output Only] The status of bulk instance operation. */ bulkInstanceOperation?: Schema$InstanceGroupManagerStatusBulkInstanceOperation; + /** + * Output only. [Output Only] The list of instance statuses and the number of instances + * in this managed instance group that have the status. Currently only shown + * for TPU MIGs + */ + currentInstanceStatuses?: Schema$InstanceGroupManagerStatusInstanceStatusSummary; /** * Output only. [Output Only] A bit indicating whether the managed instance group is in a * stable state. A stable state means that: none of the instances in the @@ -13880,6 +14099,85 @@ export namespace compute_beta { */ timestamp?: string | null; } + /** + * The list of instance statuses and the number of instances in this managed + * instance group that have the status. For more information about how to + * interpret each status check the instance lifecycle documentation. + * Currently only shown for TPU MIGs. + */ + export interface Schema$InstanceGroupManagerStatusInstanceStatusSummary { + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have DEPROVISIONING status. + */ + deprovisioning?: number | null; + /** + * Output only. [Output Only] The number of instances that have not been created yet or + * have been deleted. Includes only instances that would be shown in the + * listManagedInstances method and not all instances that have been + * deleted in the lifetime of the MIG. + * Does not include FlexStart instances that are waiting for the resources + * availability, they are considered as 'pending'. + */ + nonExistent?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have PENDING status, that is FlexStart instances that are waiting + * for resources. Instances that do not exist because of the other reasons + * are counted as 'non_existent'. + */ + pending?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have PENDING_STOP status. + */ + pendingStop?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have PROVISIONING status. + */ + provisioning?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have REPAIRING status. + */ + repairing?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have RUNNING status. + */ + running?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have STAGING status. + */ + staging?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have STOPPED status. + */ + stopped?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have STOPPING status. + */ + stopping?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have SUSPENDED status. + */ + suspended?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have SUSPENDING status. + */ + suspending?: number | null; + /** + * Output only. [Output Only] The number of instances in the managed instance group + * that have TERMINATED status. + */ + terminated?: number | null; + } export interface Schema$InstanceGroupManagerStatusStateful { /** * Output only. [Output Only] A bit indicating whether the managed instance group @@ -14455,6 +14753,7 @@ export namespace compute_beta { * the list must comply with RFC1035. */ tags?: Schema$Tags; + workloadIdentityConfig?: Schema$WorkloadIdentityConfig; } /** * Represents the change that you want to make to the instance properties. @@ -14977,6 +15276,11 @@ export namespace compute_beta { * be a dash. */ name?: string | null; + /** + * Input only. Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$InstantSnapshotParams; /** * Output only. [Output Only] URL of the region where the instant snapshot resides. * You must specify this field as part of the HTTP request URL. It is @@ -15226,6 +15530,21 @@ export namespace compute_beta { message?: string; } | null; } + /** + * Additional instant snapshot params. + */ + export interface Schema$InstantSnapshotParams { + /** + * Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and + * values have the same definition as resource + * manager tags. Keys and values can be either in numeric format, + * such as `tagKeys/{tag_key_id\}` and `tagValues/{tag_value_id\}` or in + * namespaced format such as `{org_id|project_id\}/{tag_key_short_name\}` and + * `{tag_value_short_name\}`. The field is ignored (both PUT & + * PATCH) when empty. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$InstantSnapshotResourceStatus { /** * [Output Only] The storage size of this instant snapshot. @@ -15503,8 +15822,7 @@ export namespace compute_beta { */ state?: string | null; /** - * Specific subzone in the InterconnectLocation that represents where - * this connection is to be provisioned. + * To be deprecated. */ subzone?: string | null; /** @@ -19493,6 +19811,20 @@ export namespace compute_beta { * A network endpoint group (NEG) defines how a set of endpoints should be * reached, whether they are reachable, and where they are located. * For more information about using NEGs for different use cases, seeNetwork endpoint groups overview. + * + * 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 */ export interface Schema$NetworkEndpointGroup { /** @@ -20056,6 +20388,11 @@ export namespace compute_beta { * You can only specify this field for network interfaces in VPC networks. */ aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Optional. If true, DNS resolution will be enabled over this interface. Only valid + * with network_attachment. + */ + enableVpcScopedDns?: boolean | null; /** * Fingerprint hash of contents stored in this network interface. * This field will be ignored when inserting an Instance or @@ -24751,6 +25088,12 @@ export namespace compute_beta { * create the resource. */ description?: string | null; + /** + * Indicates the early access maintenance for the reservation. + * If this field is absent or set to NO_EARLY_ACCESS, the reservation is not + * enrolled in early access maintenance and the standard notice applies. + */ + earlyAccessMaintenance?: string | null; /** * Indicates whether Compute Engine allows unplanned maintenance for your VMs; * for example, to fix hardware errors. @@ -26021,6 +26364,10 @@ export namespace compute_beta { * Effective enable-oslogin value at Instance level. */ enableOsloginMetadataValue?: boolean | null; + /** + * Effective gce-container-declaration value at Instance level. + */ + gceContainerDeclarationMetadataValue?: boolean | null; /** * Effective serial-port-enable value at Instance level. */ @@ -28295,6 +28642,13 @@ export namespace compute_beta { * Cycle for more information on the possible instance states. */ preemptible?: boolean | null; + /** + * Specifies the Metadata Service preemption notice duration before the GCE ACPI G2 Soft + * Off signal is triggered for Spot + * VMs only. If not specified, there will be no wait before the G2 Soft + * Off signal is triggered. + */ + preemptionNoticeDuration?: Schema$Duration; /** * Specifies the provisioning model of the instance. */ @@ -36034,6 +36388,10 @@ export namespace compute_beta { */ faultResponse?: string | null; } + export interface Schema$WorkloadIdentityConfig { + identity?: string | null; + identityCertificateEnabled?: boolean | null; + } export interface Schema$XpnHostList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -66173,6 +66531,7 @@ export namespace compute_beta { * * // Example response * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", * // "autoCreatedReservationsDuration": {}, @@ -66355,6 +66714,7 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", * // "autoCreatedReservationsDuration": {}, @@ -66820,6 +67180,7 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", * // "autoCreatedReservationsDuration": {}, @@ -71496,6 +71857,20 @@ export namespace compute_beta { /** * 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: @@ -96657,6 +97032,7 @@ export namespace compute_beta { * // { * // "accessConfigs": [], * // "aliasIpRanges": [], + * // "enableVpcScopedDns": false, * // "fingerprint": "my_fingerprint", * // "igmpQuery": "my_igmpQuery", * // "internalIpv6PrefixLength": 0, @@ -98533,6 +98909,7 @@ export namespace compute_beta { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * } @@ -100003,6 +100380,7 @@ export namespace compute_beta { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * }, @@ -103687,6 +104065,7 @@ export namespace compute_beta { * // "onHostMaintenance": "my_onHostMaintenance", * // "onInstanceStopAction": {}, * // "preemptible": false, + * // "preemptionNoticeDuration": {}, * // "provisioningModel": "my_provisioningModel", * // "skipGuestOsShutdown": false, * // "terminationTime": "my_terminationTime" @@ -106043,6 +106422,7 @@ export namespace compute_beta { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * }, @@ -106644,6 +107024,7 @@ export namespace compute_beta { * // { * // "accessConfigs": [], * // "aliasIpRanges": [], + * // "enableVpcScopedDns": false, * // "fingerprint": "my_fingerprint", * // "igmpQuery": "my_igmpQuery", * // "internalIpv6PrefixLength": 0, @@ -113506,6 +113887,7 @@ export namespace compute_beta { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -113835,6 +114217,7 @@ export namespace compute_beta { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -133301,6 +133684,20 @@ export namespace compute_beta { /** * 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: @@ -197203,6 +197600,7 @@ export namespace compute_beta { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -197532,6 +197930,7 @@ export namespace compute_beta { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -200964,6 +201363,20 @@ export namespace compute_beta { /** * 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: @@ -227594,6 +228007,7 @@ export namespace compute_beta { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", @@ -227928,6 +228342,7 @@ export namespace compute_beta { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", @@ -229089,6 +229504,7 @@ export namespace compute_beta { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index d6e2439d88a..cb1ab1e4243 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -178,6 +178,7 @@ export namespace compute_v1 { regionCommitments: Resource$Regioncommitments; regionDisks: Resource$Regiondisks; regionDiskTypes: Resource$Regiondisktypes; + regionHealthAggregationPolicies: Resource$Regionhealthaggregationpolicies; regionHealthChecks: Resource$Regionhealthchecks; regionHealthCheckServices: Resource$Regionhealthcheckservices; regionInstanceGroupManagers: Resource$Regioninstancegroupmanagers; @@ -323,6 +324,8 @@ export namespace compute_v1 { this.regionCommitments = new Resource$Regioncommitments(this.context); this.regionDisks = new Resource$Regiondisks(this.context); this.regionDiskTypes = new Resource$Regiondisktypes(this.context); + this.regionHealthAggregationPolicies = + new Resource$Regionhealthaggregationpolicies(this.context); this.regionHealthChecks = new Resource$Regionhealthchecks(this.context); this.regionHealthCheckServices = new Resource$Regionhealthcheckservices( this.context @@ -1111,7 +1114,7 @@ export namespace compute_v1 { } /** * Properties of the SKU instances being reserved. - * Next ID: 9 + * Next ID: 10 */ export interface Schema$AllocationSpecificSKUAllocationReservedInstanceProperties { /** @@ -1415,7 +1418,7 @@ export namespace compute_v1 { */ replicaZones?: string[] | null; /** - * Resource manager tags to be bound to the disk. Tag keys and values + * Input only. Resource manager tags to be bound to the disk. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -2300,6 +2303,10 @@ export namespace compute_v1 { * balancing mode. */ maxUtilization?: number | null; + /** + * Information about the resource or system that manages the backend. + */ + orchestrationInfo?: Schema$BackendBackendOrchestrationInfo; /** * This field indicates whether this backend should be fully utilized before * sending traffic to backends with default preference. The possible values @@ -2314,6 +2321,16 @@ export namespace compute_v1 { */ preference?: string | null; } + /** + * A message containing information about the resource or system that manages + * the backend. + */ + export interface Schema$BackendBackendOrchestrationInfo { + /** + * The URI of the resource or system that manages the backend. + */ + resourceUri?: string | null; + } /** * Represents a Cloud Storage Bucket resource. * @@ -3069,6 +3086,10 @@ export namespace compute_v1 { * networkPassThroughLbTrafficPolicy cannot be specified with haPolicy. */ networkPassThroughLbTrafficPolicy?: Schema$BackendServiceNetworkPassThroughLbTrafficPolicy; + /** + * Information about the resource or system that manages the backend service. + */ + orchestrationInfo?: Schema$BackendServiceOrchestrationInfo; /** * Settings controlling the ejection of unhealthy backend endpoints from the * load balancing pool of each individual proxy instance that processes the @@ -3974,6 +3995,17 @@ export namespace compute_v1 { */ spilloverRatio?: number | null; } + /** + * A message containing information about the resource or system that manages + * the backend service. + */ + export interface Schema$BackendServiceOrchestrationInfo { + /** + * The resource URI of the resource or system that manages the backend + * service. + */ + resourceUri?: string | null; + } /** * Additional Backend Service parameters. */ @@ -6005,7 +6037,7 @@ export namespace compute_v1 { */ export interface Schema$DiskParams { /** - * Resource manager tags to be bound to the disk. Tag keys and values + * Input only. Resource manager tags to be bound to the disk. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -6567,6 +6599,11 @@ export namespace compute_v1 { * be a dash. */ name?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$ExternalVpnGatewayParams; /** * Indicates the user-supplied redundancy type of this external VPN gateway. */ @@ -6645,6 +6682,25 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$ExternalVpnGatewayParams { + /** + * Tag keys/values directly bound to this resource. + * Tag keys and values have the same definition as resource + * manager tags. The field is allowed for INSERT + * only. The keys/values to set on the resource should be specified in + * either ID { : \} or Namespaced format + * { : \}. + * For example the following are valid inputs: + * * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} + * * {"123/environment" : "production", "345/abc" : "xyz"\} + * Note: + * * Invalid combinations of ID & namespaced format is not supported. For + * instance: {"123/environment" : "tagValues/444"\} is invalid. + * * Inconsistent format is not supported. For instance: + * {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$FileContentBuffer { /** * The raw content in the secure keys file. @@ -8784,6 +8840,194 @@ export namespace compute_v1 { */ type?: string | null; } + export interface Schema$HealthAggregationPoliciesScopedList { + /** + * A list of HealthAggregationPolicys contained in this scope. + */ + healthAggregationPolicies?: Schema$HealthAggregationPolicy[]; + /** + * Informational warning which replaces the list of health aggregation + * policies when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * Represents a health aggregation policy. + * + * A health aggregation policy resource defines a policy to aggregate health. + * + * For more information, see + * Health checks overview. + */ + export interface Schema$HealthAggregationPolicy { + /** + * Output only. [Output Only] Creation timestamp inRFC3339 + * text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string | null; + /** + * Fingerprint of this resource. A hash of the contents stored in this object. + * This field is used in optimistic locking. This field will be ignored when + * inserting a HealthAggregationPolicy. An up-to-date fingerprint + * must be provided in order to patch the HealthAggregationPolicy; Otherwise, + * the request will fail with error 412 conditionNotMet. To see + * the latest fingerprint, make a get() request to retrieve the + * HealthAggregationPolicy. + */ + fingerprint?: string | null; + /** + * Can only be set if the policyType field isBACKEND_SERVICE_POLICY. Specifies the threshold (as a + * percentage) of healthy endpoints required in order to consider the + * aggregated health result HEALTHY. Defaults to 60. Must be in + * range [0, 100]. Not applicable if the policyType field isDNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, + * and will be set to the default if unspecified. Note that both this + * threshold and minHealthyThreshold must be satisfied in order + * for HEALTHY to be the aggregated result. "Endpoints" refers to network + * endpoints within a Network Endpoint Group or instances within an Instance + * Group. + */ + healthyPercentThreshold?: number | null; + /** + * Output only. [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string | null; + /** + * Output only. [Output Only] Type of the resource. Alwayscompute#healthAggregationPolicy for health aggregation + * policies. + */ + kind?: string | null; + /** + * Can only be set if the policyType field isBACKEND_SERVICE_POLICY. Specifies the minimum number of + * healthy endpoints required in order to consider the aggregated health + * result HEALTHY. Defaults to 1. Must be positive. Not + * applicable if the policyType field isDNB_PUBLIC_IP_POLICY. Can be mutated. This field is optional, + * and will be set to the default if unspecified. Note that both this + * threshold and healthyPercentThreshold must be satisfied in + * order for HEALTHY to be the aggregated result. "Endpoints" refers to + * network endpoints within a Network Endpoint Group or instances within an + * Instance Group. + */ + minHealthyThreshold?: number | null; + /** + * Name of the resource. Provided by the client when the resource is created. + * The name must be 1-63 characters long, and comply withRFC1035. + * Specifically, the name must be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character must be a lowercase letter, and all following characters must + * be a dash, lowercase letter, or digit, except the last character, which + * cannot be a dash. + */ + name?: string | null; + /** + * Specifies the type of the healthAggregationPolicy. The only allowed value + * for global resources is DNS_PUBLIC_IP_POLICY. The only allowed + * value for regional resources is BACKEND_SERVICE_POLICY. Must + * be specified when the healthAggregationPolicy is created, and cannot be + * mutated. + */ + policyType?: string | null; + /** + * Output only. [Output Only] URL of the region where the health aggregation policy + * resides. This field applies only to the regional resource. You must specify + * this field as part of the HTTP request URL. It is not settable as a field + * in the request body. + */ + region?: string | null; + /** + * Output only. [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Server-defined URL with id for the resource. + */ + selfLinkWithId?: string | null; + } + /** + * Contains a list of HealthAggregationPoliciesScopedList. + */ + export interface Schema$HealthAggregationPolicyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of HealthAggregationPoliciesScopedList resources. + */ + items?: {[key: string]: Schema$HealthAggregationPoliciesScopedList} | null; + /** + * Output only. Type of resource. + */ + kind?: string | null; + /** + * [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. + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + export interface Schema$HealthAggregationPolicyList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of HealthAggregationPolicy resources. + */ + items?: Schema$HealthAggregationPolicy[]; + /** + * Output only. [Output Only] Type of the resource. Alwayscompute#healthAggregationPolicy for health aggregation + * policies. + */ + kind?: string | null; + /** + * [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] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a health check resource. * @@ -10718,7 +10962,7 @@ export namespace compute_v1 { */ export interface Schema$ImageParams { /** - * Resource manager tags to be bound to the image. Tag keys and values have + * Input only. Resource manager tags to be bound to the image. Tag keys and values have * the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -11014,6 +11258,7 @@ export namespace compute_v1 { * Multiple tags can be specified via the 'tags.items' field. */ tags?: Schema$Tags; + workloadIdentityConfig?: Schema$WorkloadIdentityConfig; /** * Output only. [Output Only] URL of the zone where the instance resides. * You must specify this field as part of the HTTP request URL. It is @@ -11713,6 +11958,20 @@ export namespace compute_v1 { * during repair. */ forceUpdateOnRepair?: string | null; + /** + * The action that a MIG performs on an unhealthy VM. A VM is marked as + * unhealthy when the application running on that VM fails a health check. + * Valid values are: + * + * - DEFAULT_ACTION (default): MIG uses the same action + * configured for instanceLifecyclePolicy.defaultActionOnFailure field. + * - REPAIR: MIG automatically repairs an unhealthy VM by + * recreating it. + * - DO_NOTHING: MIG doesn't repair an unhealthy VM. + * For more information, see + * About repairing VMs in a MIG. + */ + onFailedHealthCheck?: string | null; } /** * [Output Only] A list of managed instance groups. @@ -12624,7 +12883,7 @@ export namespace compute_v1 { */ requestValidForDuration?: Schema$Duration; /** - * Resource manager tags to be bound to the instance. Tag keys and values + * Input only. Resource manager tags to be bound to the instance. Tag keys and values * have the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -12722,7 +12981,7 @@ export namespace compute_v1 { */ reservationAffinity?: Schema$ReservationAffinity; /** - * Resource manager tags to be bound to the instance. Tag keys and values + * Input only. Resource manager tags to be bound to the instance. Tag keys and values * have the same definition as resource * manager tags. Keys must be in the format `tagKeys/{tag_key_id\}`, and * values are in the format `tagValues/456`. The field is ignored (both PUT & @@ -12758,6 +13017,7 @@ export namespace compute_v1 { * the list must comply with RFC1035. */ tags?: Schema$Tags; + workloadIdentityConfig?: Schema$WorkloadIdentityConfig; } /** * Represents the change that you want to make to the instance properties. @@ -13240,6 +13500,11 @@ export namespace compute_v1 { * be a dash. */ name?: string | null; + /** + * Input only. Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$InstantSnapshotParams; /** * Output only. [Output Only] URL of the region where the instant snapshot resides. * You must specify this field as part of the HTTP request URL. It is @@ -13385,6 +13650,21 @@ export namespace compute_v1 { message?: string; } | null; } + /** + * Additional instant snapshot params. + */ + export interface Schema$InstantSnapshotParams { + /** + * Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and + * values have the same definition as resource + * manager tags. Keys and values can be either in numeric format, + * such as `tagKeys/{tag_key_id\}` and `tagValues/{tag_value_id\}` or in + * namespaced format such as `{org_id|project_id\}/{tag_key_short_name\}` and + * `{tag_value_short_name\}`. The field is ignored (both PUT & + * PATCH) when empty. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$InstantSnapshotResourceStatus { /** * [Output Only] The storage size of this instant snapshot. @@ -13662,8 +13942,7 @@ export namespace compute_v1 { */ state?: string | null; /** - * Specific subzone in the InterconnectLocation that represents where - * this connection is to be provisioned. + * To be deprecated. */ subzone?: string | null; /** @@ -16160,12 +16439,25 @@ export namespace compute_v1 { * Location configurations mapped by location name. * Currently only zone names are supported and must be represented as valid * internal URLs, such as zones/us-central1-a. + * The bulkInsert operation doesn't create instances in an AI zone, even if + * an AI zone is available in the specified region. For example, if you set a + * DENY preference for us-central1-a, Compute Engine will consider + * us-central1-b and us-central1-c for instance creation, but not + * us-central1-ai1a. Also, you can't use the locations[] configuration to + * allow instance creation in an AI zone. To include an AI zone in bulkInsert + * operations, use the locationPolicy.zones[] field. */ locations?: {[key: string]: Schema$LocationPolicyLocation} | null; /** * Strategy for distributing VMs across zones in a region. */ targetShape?: string | null; + /** + * The bulkInsert operation applies any preferences set in the locations + * field to the specific zones listed in the zones field if the same zones + * are specified in both fields. + */ + zones?: Schema$LocationPolicyZoneConfiguration[]; } export interface Schema$LocationPolicyLocation { /** @@ -16188,6 +16480,15 @@ export namespace compute_v1 { */ maxCount?: number | null; } + export interface Schema$LocationPolicyZoneConfiguration { + /** + * The URL of the zone. + * The zone must exist in the region where the request is called. + * Zones must be represented as valid partial URLs, + * such as zones/us-central1-a. + */ + zone?: string | null; + } /** * Represents a machine image resource. * @@ -17347,6 +17648,20 @@ export namespace compute_v1 { * A network endpoint group (NEG) defines how a set of endpoints should be * reached, whether they are reachable, and where they are located. * For more information about using NEGs for different use cases, seeNetwork endpoint groups overview. + * + * 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 */ export interface Schema$NetworkEndpointGroup { /** @@ -17801,6 +18116,11 @@ export namespace compute_v1 { * You can only specify this field for network interfaces in VPC networks. */ aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Optional. If true, DNS resolution will be enabled over this interface. Only valid + * with network_attachment. + */ + enableVpcScopedDns?: boolean | null; /** * Fingerprint hash of contents stored in this network interface. * This field will be ignored when inserting an Instance or @@ -22061,6 +22381,12 @@ export namespace compute_v1 { * create the resource. */ description?: string | null; + /** + * Indicates the early access maintenance for the reservation. + * If this field is absent or set to NO_EARLY_ACCESS, the reservation is not + * enrolled in early access maintenance and the standard notice applies. + */ + earlyAccessMaintenance?: string | null; /** * Indicates whether Compute Engine allows unplanned maintenance for your VMs; * for example, to fix hardware errors. @@ -22091,6 +22417,11 @@ export namespace compute_v1 { * be a dash. */ name?: string | null; + /** + * Input only. Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$ReservationParams; /** * Protection tier for the workload which specifies the workload expectations * in the event of infrastructure failures at data center (e.g. power @@ -22448,6 +22779,21 @@ export namespace compute_v1 { message?: string; } | null; } + /** + * Additional reservation params. + */ + export interface Schema$ReservationParams { + /** + * Input only. Resource manager tags to be bound to the reservation. Tag keys and + * values have the same definition as resource + * manager tags. Keys and values can be either in numeric format, + * such as `tagKeys/{tag_key_id\}` and `tagValues/{tag_value_id\}` or in + * namespaced format such as `{org_id|project_id\}/{tag_key_short_name\}` and + * `{tag_value_short_name\}`. The field is ignored (both PUT & + * PATCH) when empty. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$ReservationsBlocksPerformMaintenanceRequest { /** * Specifies if all, running or unused hosts are in scope for this request. @@ -23302,6 +23648,10 @@ export namespace compute_v1 { * Effective enable-oslogin value at Instance level. */ enableOsloginMetadataValue?: boolean | null; + /** + * Effective gce-container-declaration value at Instance level. + */ + gceContainerDeclarationMetadataValue?: boolean | null; /** * Effective serial-port-enable value at Instance level. */ @@ -26864,7 +27214,7 @@ export namespace compute_v1 { */ export interface Schema$SnapshotParams { /** - * Resource manager tags to be bound to the snapshot. Tag keys and values have + * Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have * the same definition as resource * manager tags. Keys and values can be either in numeric format, * such as `tagKeys/{tag_key_id\}` and `tagValues/456` or in namespaced @@ -30126,6 +30476,11 @@ export namespace compute_v1 { * client when the VPN gateway is created. */ network?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$TargetVpnGatewayParams; /** * [Output Only] URL of the region where the target VPN gateway resides. * You must specify this field as part of the HTTP request URL. It is @@ -30223,6 +30578,25 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$TargetVpnGatewayParams { + /** + * Tag keys/values directly bound to this resource. + * Tag keys and values have the same definition as resource + * manager tags. The field is allowed for INSERT + * only. The keys/values to set on the resource should be specified in + * either ID { : \} or Namespaced format + * { : \}. + * For example the following are valid inputs: + * * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} + * * {"123/environment" : "production", "345/abc" : "xyz"\} + * Note: + * * Invalid combinations of ID & namespaced format is not supported. For + * instance: {"123/environment" : "tagValues/444"\} is invalid. + * * Inconsistent format is not supported. For instance: + * {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$TargetVpnGatewaysScopedList { /** * [Output Only] A list of target VPN gateways contained in this scope. @@ -31182,6 +31556,11 @@ export namespace compute_v1 { * client when the VPN gateway is created. */ network?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$VpnGatewayParams; /** * Output only. [Output Only] URL of the region where the VPN gateway resides. */ @@ -31277,6 +31656,25 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$VpnGatewayParams { + /** + * Tag keys/values directly bound to this resource. + * Tag keys and values have the same definition as resource + * manager tags. The field is allowed for INSERT + * only. The keys/values to set on the resource should be specified in + * either ID { : \} or Namespaced format + * { : \}. + * For example the following are valid inputs: + * * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} + * * {"123/environment" : "production", "345/abc" : "xyz"\} + * Note: + * * Invalid combinations of ID & namespaced format is not supported. For + * instance: {"123/environment" : "tagValues/444"\} is invalid. + * * Inconsistent format is not supported. For instance: + * {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$VpnGatewaysGetStatusResponse { result?: Schema$VpnGatewayStatus; } @@ -31480,6 +31878,11 @@ export namespace compute_v1 { * cannot be a dash. */ name?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted + * as part of resource payload. + */ + params?: Schema$VpnTunnelParams; /** * URL of the peer side external VPN gateway to which this VPN tunnel is * connected. @@ -31675,6 +32078,25 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$VpnTunnelParams { + /** + * Tag keys/values directly bound to this resource. + * Tag keys and values have the same definition as resource + * manager tags. The field is allowed for INSERT + * only. The keys/values to set on the resource should be specified in + * either ID { : \} or Namespaced format + * { : \}. + * For example the following are valid inputs: + * * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} + * * {"123/environment" : "production", "345/abc" : "xyz"\} + * Note: + * * Invalid combinations of ID & namespaced format is not supported. For + * instance: {"123/environment" : "tagValues/444"\} is invalid. + * * Inconsistent format is not supported. For instance: + * {"tagKeys/333" : "tagValues/444", "123/env" : "prod"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$VpnTunnelPhase1Algorithms { dh?: string[] | null; encryption?: string[] | null; @@ -32046,6 +32468,10 @@ export namespace compute_v1 { */ faultResponse?: string | null; } + export interface Schema$WorkloadIdentityConfig { + identity?: string | null; + identityCertificateEnabled?: boolean | null; + } export interface Schema$XpnHostList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -40820,6 +41246,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -41480,6 +41907,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -42197,6 +42625,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -43138,6 +43567,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -48683,7 +49113,7 @@ export namespace compute_v1 { /** * Updates the specified disk with the data included in the request. * The update is performed only on selected fields included as part - * of update-mask. Only the following fields can be modified: user_license. + * of update-mask. * @example * ```js * // Before running the sample: @@ -50811,6 +51241,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "redundancyType": "my_redundancyType", * // "selfLink": "my_selfLink" * // } @@ -50976,6 +51407,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "redundancyType": "my_redundancyType", * // "selfLink": "my_selfLink" * // } @@ -53731,6 +54163,10 @@ export namespace compute_v1 { * * // Do the magic * const res = await compute.firewallPolicies.listAssociations({ + * // If set to "true", the response will contain a list of all associations for + * // the containing folders and the containing organization of the target. The + * // parameter has no effect if the target is an organization. + * includeInheritedPolicies: 'placeholder-value', * // The target resource to list associations. It is an organization, or a * // folder. * targetResource: 'placeholder-value', @@ -55388,6 +55824,12 @@ export namespace compute_v1 { returnPartialSuccess?: boolean; } export interface Params$Resource$Firewallpolicies$Listassociations extends StandardParameters { + /** + * If set to "true", the response will contain a list of all associations for + * the containing folders and the containing organization of the target. The + * parameter has no effect if the target is an organization. + */ + includeInheritedPolicies?: boolean; /** * The target resource to list associations. It is an organization, or a * folder. @@ -65120,6 +65562,20 @@ export namespace compute_v1 { /** * 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: @@ -87535,6 +87991,7 @@ export namespace compute_v1 { * // { * // "accessConfigs": [], * // "aliasIpRanges": [], + * // "enableVpcScopedDns": false, * // "fingerprint": "my_fingerprint", * // "igmpQuery": "my_igmpQuery", * // "internalIpv6PrefixLength": 0, @@ -89399,6 +89856,7 @@ export namespace compute_v1 { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * } @@ -90562,6 +91020,7 @@ export namespace compute_v1 { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * }, @@ -96187,6 +96646,7 @@ export namespace compute_v1 { * // "status": "my_status", * // "statusMessage": "my_statusMessage", * // "tags": {}, + * // "workloadIdentityConfig": {}, * // "zone": "my_zone" * // } * }, @@ -96788,6 +97248,7 @@ export namespace compute_v1 { * // { * // "accessConfigs": [], * // "aliasIpRanges": [], + * // "enableVpcScopedDns": false, * // "fingerprint": "my_fingerprint", * // "igmpQuery": "my_igmpQuery", * // "internalIpv6PrefixLength": 0, @@ -101770,6 +102231,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -102097,6 +102559,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -121210,6 +121673,20 @@ export namespace compute_v1 { /** * 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: @@ -151889,6 +152366,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -152411,6 +152889,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -153138,6 +153617,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -153895,6 +154375,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, + * // "orchestrationInfo": {}, * // "outlierDetection": {}, * // "params": {}, * // "port": 0, @@ -159040,8 +159521,7 @@ export namespace compute_v1 { /** * Update the specified disk with the data included in the request. Update is - * performed only on selected fields included as part of update-mask. Only the - * following fields can be modified: user_license. + * performed only on selected fields included as part of update-mask. * @example * ```js * // Before running the sample: @@ -160399,14 +160879,18 @@ export namespace compute_v1 { returnPartialSuccess?: boolean; } - export class Resource$Regionhealthchecks { + export class Resource$Regionhealthaggregationpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Deletes the specified HealthCheck resource. + * Retrieves the list of all HealthAggregationPolicy resources, + * regional and global, available to the specified project. + * + * To prevent failure, it is recommended that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -160430,6 +160914,7 @@ 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', * ], * }); * @@ -160438,9 +160923,267 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.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.regionHealthAggregationPolicies.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 + * // { + * // "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$Regionhealthaggregationpolicies$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regionhealthaggregationpolicies$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/v1/projects/{project}/aggregated/healthAggregationPolicies' + ).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 HealthAggregationPolicy in the given 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('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.regionHealthAggregationPolicies.delete({ + * // Name of the HealthAggregationPolicy resource to delete. + * healthAggregationPolicy: + * '[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])?))', @@ -160507,31 +161250,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Regionhealthchecks$Delete, + params: Params$Resource$Regionhealthaggregationpolicies$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Regionhealthchecks$Delete, + params?: Params$Resource$Regionhealthaggregationpolicies$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Regionhealthchecks$Delete, + params: Params$Resource$Regionhealthaggregationpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Regionhealthchecks$Delete, + params: Params$Resource$Regionhealthaggregationpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Regionhealthchecks$Delete, + params: Params$Resource$Regionhealthaggregationpolicies$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Delete + | Params$Resource$Regionhealthaggregationpolicies$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -160547,12 +161290,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Delete; + {}) as Params$Resource$Regionhealthaggregationpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$Delete; + params = {} as Params$Resource$Regionhealthaggregationpolicies$Delete; options = {}; } @@ -160567,7 +161310,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -160575,8 +161318,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheck'], - pathParams: ['healthCheck', 'project', 'region'], + requiredParams: ['project', 'region', 'healthAggregationPolicy'], + pathParams: ['healthAggregationPolicy', 'project', 'region'], context: this.context, }; if (callback) { @@ -160590,7 +161333,7 @@ export namespace compute_v1 { } /** - * Returns the specified HealthCheck resource. + * Returns the specified HealthAggregationPolicy resource in the given region. * @example * ```js * // Before running the sample: @@ -160623,9 +161366,10 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.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.regionHealthAggregationPolicies.get({ + * // Name of the HealthAggregationPolicy resource to return. + * healthAggregationPolicy: + * '[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])?))', @@ -160636,27 +161380,18 @@ export namespace compute_v1 { * * // Example response * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "fingerprint": "my_fingerprint", + * // "healthyPercentThreshold": 0, * // "id": "my_id", * // "kind": "my_kind", - * // "logConfig": {}, + * // "minHealthyThreshold": 0, * // "name": "my_name", + * // "policyType": "my_policyType", * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "unhealthyThreshold": 0 + * // "selfLinkWithId": "my_selfLinkWithId" * // } * } * @@ -160673,52 +161408,54 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Regionhealthchecks$Get, + params: Params$Resource$Regionhealthaggregationpolicies$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Regionhealthchecks$Get, + params?: Params$Resource$Regionhealthaggregationpolicies$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Regionhealthchecks$Get, + params: Params$Resource$Regionhealthaggregationpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Regionhealthchecks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthaggregationpolicies$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Regionhealthchecks$Get, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthaggregationpolicies$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Get - | BodyResponseCallback + | Params$Resource$Regionhealthaggregationpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Get; + {}) as Params$Resource$Regionhealthaggregationpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$Get; + params = {} as Params$Resource$Regionhealthaggregationpolicies$Get; options = {}; } @@ -160733,7 +161470,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -160741,23 +161478,23 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheck'], - pathParams: ['healthCheck', 'project', 'region'], + requiredParams: ['project', 'region', 'healthAggregationPolicy'], + pathParams: ['healthAggregationPolicy', 'project', 'region'], 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. + * Create a HealthAggregationPolicy in the specified project in the given + * region using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -160789,7 +161526,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.insert({ + * const res = await compute.regionHealthAggregationPolicies.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])?))', @@ -160814,27 +161551,18 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "fingerprint": "my_fingerprint", + * // "healthyPercentThreshold": 0, * // "id": "my_id", * // "kind": "my_kind", - * // "logConfig": {}, + * // "minHealthyThreshold": 0, * // "name": "my_name", + * // "policyType": "my_policyType", * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "unhealthyThreshold": 0 + * // "selfLinkWithId": "my_selfLinkWithId" * // } * }, * }); @@ -160884,31 +161612,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Regionhealthchecks$Insert, + params: Params$Resource$Regionhealthaggregationpolicies$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Regionhealthchecks$Insert, + params?: Params$Resource$Regionhealthaggregationpolicies$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Regionhealthchecks$Insert, + params: Params$Resource$Regionhealthaggregationpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Regionhealthchecks$Insert, + params: Params$Resource$Regionhealthaggregationpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Regionhealthchecks$Insert, + params: Params$Resource$Regionhealthaggregationpolicies$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Insert + | Params$Resource$Regionhealthaggregationpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -160924,12 +161652,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Insert; + {}) as Params$Resource$Regionhealthaggregationpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$Insert; + params = {} as Params$Resource$Regionhealthaggregationpolicies$Insert; options = {}; } @@ -160944,7 +161672,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -160967,8 +161695,7 @@ export namespace compute_v1 { } /** - * Retrieves the list of HealthCheck resources available to the specified - * project. + * Lists the HealthAggregationPolicies for a project in the given region. * @example * ```js * // Before running the sample: @@ -161001,7 +161728,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.list({ + * const res = await compute.regionHealthAggregationPolicies.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 @@ -161122,52 +161849,56 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Regionhealthchecks$List, + params: Params$Resource$Regionhealthaggregationpolicies$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Regionhealthchecks$List, + params?: Params$Resource$Regionhealthaggregationpolicies$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Regionhealthchecks$List, + params: Params$Resource$Regionhealthaggregationpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Regionhealthchecks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthaggregationpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Regionhealthchecks$List, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthaggregationpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$List - | BodyResponseCallback + | Params$Resource$Regionhealthaggregationpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$List; + {}) as Params$Resource$Regionhealthaggregationpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$List; + params = {} as Params$Resource$Regionhealthaggregationpolicies$List; options = {}; } @@ -161182,7 +161913,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -161195,18 +161926,18 @@ export namespace compute_v1 { 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 + * Updates the specified regional HealthAggregationPolicy + * resource with the data included in the request. This method supportsPATCH * semantics and uses theJSON merge * patch format and processing rules. * @example @@ -161240,9 +161971,10 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.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}', + * const res = await compute.regionHealthAggregationPolicies.patch({ + * // Name of the HealthAggregationPolicy to update. The name + * // must be 1-63 characters long, and comply with RFC1035. + * healthAggregationPolicy: '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])?))', @@ -161267,27 +161999,18 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "fingerprint": "my_fingerprint", + * // "healthyPercentThreshold": 0, * // "id": "my_id", * // "kind": "my_kind", - * // "logConfig": {}, + * // "minHealthyThreshold": 0, * // "name": "my_name", + * // "policyType": "my_policyType", * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "unhealthyThreshold": 0 + * // "selfLinkWithId": "my_selfLinkWithId" * // } * }, * }); @@ -161337,31 +162060,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Regionhealthchecks$Patch, + params: Params$Resource$Regionhealthaggregationpolicies$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Regionhealthchecks$Patch, + params?: Params$Resource$Regionhealthaggregationpolicies$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Regionhealthchecks$Patch, + params: Params$Resource$Regionhealthaggregationpolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Regionhealthchecks$Patch, + params: Params$Resource$Regionhealthaggregationpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Regionhealthchecks$Patch, + params: Params$Resource$Regionhealthaggregationpolicies$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Patch + | Params$Resource$Regionhealthaggregationpolicies$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -161377,12 +162100,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Patch; + {}) as Params$Resource$Regionhealthaggregationpolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$Patch; + params = {} as Params$Resource$Regionhealthaggregationpolicies$Patch; options = {}; } @@ -161397,7 +162120,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies/{healthAggregationPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -161405,8 +162128,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheck'], - pathParams: ['healthCheck', 'project', 'region'], + requiredParams: ['project', 'region', 'healthAggregationPolicy'], + pathParams: ['healthAggregationPolicy', 'project', 'region'], context: this.context, }; if (callback) { @@ -161453,7 +162176,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthChecks.testIamPermissions({ + * const res = await compute.regionHealthAggregationPolicies.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])?))', @@ -161491,27 +162214,27 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Regionhealthchecks$Testiampermissions, + params: Params$Resource$Regionhealthaggregationpolicies$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Regionhealthchecks$Testiampermissions, + params?: Params$Resource$Regionhealthaggregationpolicies$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Regionhealthchecks$Testiampermissions, + params: Params$Resource$Regionhealthaggregationpolicies$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Regionhealthchecks$Testiampermissions, + params: Params$Resource$Regionhealthaggregationpolicies$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Regionhealthchecks$Testiampermissions, + params: Params$Resource$Regionhealthaggregationpolicies$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -161519,7 +162242,7 @@ export namespace compute_v1 { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Testiampermissions + | Params$Resource$Regionhealthaggregationpolicies$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -161535,12 +162258,13 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Testiampermissions; + {}) as Params$Resource$Regionhealthaggregationpolicies$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$Testiampermissions; + params = + {} as Params$Resource$Regionhealthaggregationpolicies$Testiampermissions; options = {}; } @@ -161555,7 +162279,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions' + '/compute/v1/projects/{project}/regions/{region}/healthAggregationPolicies/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -161576,297 +162300,9 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } - - /** - * Updates a HealthCheck 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('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.regionHealthChecks.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])?))', - * // 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 - * // { - * // "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", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "unhealthyThreshold": 0 - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "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. - */ - update( - params: Params$Resource$Regionhealthchecks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Regionhealthchecks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Regionhealthchecks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Regionhealthchecks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Regionhealthchecks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Regionhealthchecks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthchecks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthchecks$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/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'healthCheck'], - pathParams: ['healthCheck', 'project', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Regionhealthchecks$Delete extends StandardParameters { - /** - * Name of the HealthCheck resource to delete. - */ - healthCheck?: 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$Regionhealthchecks$Get extends StandardParameters { - /** - * Name of the HealthCheck resource to return. - */ - healthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; } - export interface Params$Resource$Regionhealthchecks$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$HealthCheck; - } - export interface Params$Resource$Regionhealthchecks$List extends StandardParameters { + export interface Params$Resource$Regionhealthaggregationpolicies$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -161928,6 +162364,16 @@ export namespace compute_v1 { * 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`, @@ -161957,13 +162403,9 @@ export namespace compute_v1 { */ pageToken?: string; /** - * Project ID for this request. + * Name of the project scoping 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. @@ -161973,12 +162415,17 @@ export namespace compute_v1 { * 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$Regionhealthchecks$Patch extends StandardParameters { + export interface Params$Resource$Regionhealthaggregationpolicies$Delete extends StandardParameters { /** - * Name of the HealthCheck resource to patch. + * Name of the HealthAggregationPolicy resource to delete. */ - healthCheck?: string; + healthAggregationPolicy?: string; /** * Project ID for this request. */ @@ -162003,36 +162450,166 @@ export namespace compute_v1 { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - + } + export interface Params$Resource$Regionhealthaggregationpolicies$Get extends StandardParameters { /** - * Request body metadata + * Name of the HealthAggregationPolicy resource to return. */ - requestBody?: Schema$HealthCheck; + healthAggregationPolicy?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; } - export interface Params$Resource$Regionhealthchecks$Testiampermissions extends StandardParameters { + export interface Params$Resource$Regionhealthaggregationpolicies$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * The name of the region for this request. + * Name of the region scoping this request. */ region?: 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$HealthAggregationPolicy; } - export interface Params$Resource$Regionhealthchecks$Update extends StandardParameters { + export interface Params$Resource$Regionhealthaggregationpolicies$List extends StandardParameters { /** - * Name of the HealthCheck resource to update. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.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; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` 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$Regionhealthaggregationpolicies$Patch extends StandardParameters { + /** + * Name of the HealthAggregationPolicy to update. The name + * must be 1-63 characters long, and comply with RFC1035. + */ + healthAggregationPolicy?: string; /** * Project ID for this request. */ @@ -162061,17 +162638,36 @@ export namespace compute_v1 { /** * Request body metadata */ - requestBody?: Schema$HealthCheck; + requestBody?: Schema$HealthAggregationPolicy; + } + export interface Params$Resource$Regionhealthaggregationpolicies$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$Regionhealthcheckservices { + export class Resource$Regionhealthchecks { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Deletes the specified regional HealthCheckService. + * Deletes the specified HealthCheck resource. * @example * ```js * // Before running the sample: @@ -162103,10 +162699,9 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.delete({ - * // Name of the HealthCheckService to delete. The name - * // must be 1-63 characters long, and comply with RFC1035. - * healthCheckService: 'placeholder-value', + * const res = await compute.regionHealthChecks.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])?))', @@ -162173,31 +162768,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Regionhealthcheckservices$Delete, + params: Params$Resource$Regionhealthchecks$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Regionhealthcheckservices$Delete, + params?: Params$Resource$Regionhealthchecks$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Regionhealthcheckservices$Delete, + params: Params$Resource$Regionhealthchecks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Regionhealthcheckservices$Delete, + params: Params$Resource$Regionhealthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Regionhealthcheckservices$Delete, + params: Params$Resource$Regionhealthchecks$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$Delete + | Params$Resource$Regionhealthchecks$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -162213,12 +162808,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$Delete; + {}) as Params$Resource$Regionhealthchecks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthcheckservices$Delete; + params = {} as Params$Resource$Regionhealthchecks$Delete; options = {}; } @@ -162233,7 +162828,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' + '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -162241,8 +162836,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheckService'], - pathParams: ['healthCheckService', 'project', 'region'], + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], context: this.context, }; if (callback) { @@ -162256,7 +162851,7 @@ export namespace compute_v1 { } /** - * Returns the specified regional HealthCheckService resource. + * Returns the specified HealthCheck resource. * @example * ```js * // Before running the sample: @@ -162289,10 +162884,9 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.get({ - * // Name of the HealthCheckService to update. The name - * // must be 1-63 characters long, and comply with RFC1035. - * healthCheckService: 'placeholder-value', + * const res = await compute.regionHealthChecks.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])?))', @@ -162303,18 +162897,27 @@ export namespace compute_v1 { * * // Example response * // { + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "healthChecks": [], - * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "networkEndpointGroups": [], - * // "notificationEndpoints": [], * // "region": "my_region", - * // "selfLink": "my_selfLink" + * // "selfLink": "my_selfLink", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "unhealthyThreshold": 0 * // } * } * @@ -162331,52 +162934,52 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Regionhealthcheckservices$Get, + params: Params$Resource$Regionhealthchecks$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Regionhealthcheckservices$Get, + params?: Params$Resource$Regionhealthchecks$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Regionhealthcheckservices$Get, + params: Params$Resource$Regionhealthchecks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Regionhealthcheckservices$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthchecks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Regionhealthcheckservices$Get, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthchecks$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$Get - | BodyResponseCallback + | Params$Resource$Regionhealthchecks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$Get; + {}) as Params$Resource$Regionhealthchecks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthcheckservices$Get; + params = {} as Params$Resource$Regionhealthchecks$Get; options = {}; } @@ -162391,7 +162994,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' + '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -162399,23 +163002,23 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheckService'], - pathParams: ['healthCheckService', 'project', 'region'], + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a regional HealthCheckService resource in the - * specified project and region using the data included in the request. + * Creates a HealthCheck resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -162447,7 +163050,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.insert({ + * const res = await compute.regionHealthChecks.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])?))', @@ -162472,18 +163075,27 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "healthChecks": [], - * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "networkEndpointGroups": [], - * // "notificationEndpoints": [], * // "region": "my_region", - * // "selfLink": "my_selfLink" + * // "selfLink": "my_selfLink", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "unhealthyThreshold": 0 * // } * }, * }); @@ -162533,31 +163145,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Regionhealthcheckservices$Insert, + params: Params$Resource$Regionhealthchecks$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Regionhealthcheckservices$Insert, + params?: Params$Resource$Regionhealthchecks$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Regionhealthcheckservices$Insert, + params: Params$Resource$Regionhealthchecks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Regionhealthcheckservices$Insert, + params: Params$Resource$Regionhealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Regionhealthcheckservices$Insert, + params: Params$Resource$Regionhealthchecks$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$Insert + | Params$Resource$Regionhealthchecks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -162573,12 +163185,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$Insert; + {}) as Params$Resource$Regionhealthchecks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthcheckservices$Insert; + params = {} as Params$Resource$Regionhealthchecks$Insert; options = {}; } @@ -162593,7 +163205,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices' + '/compute/v1/projects/{project}/regions/{region}/healthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -162616,8 +163228,8 @@ export namespace compute_v1 { } /** - * Lists all the HealthCheckService resources that have been - * configured for the specified project in the given region. + * Retrieves the list of HealthCheck resources available to the specified + * project. * @example * ```js * // Before running the sample: @@ -162650,7 +163262,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.list({ + * const res = await compute.regionHealthChecks.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 @@ -162771,54 +163383,52 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Regionhealthcheckservices$List, + params: Params$Resource$Regionhealthchecks$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Regionhealthcheckservices$List, + params?: Params$Resource$Regionhealthchecks$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Regionhealthcheckservices$List, + params: Params$Resource$Regionhealthchecks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Regionhealthcheckservices$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthchecks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Regionhealthcheckservices$List, - callback: BodyResponseCallback + params: Params$Resource$Regionhealthchecks$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$List - | BodyResponseCallback + | Params$Resource$Regionhealthchecks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$List; + {}) as Params$Resource$Regionhealthchecks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthcheckservices$List; + params = {} as Params$Resource$Regionhealthchecks$List; options = {}; } @@ -162833,7 +163443,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices' + '/compute/v1/projects/{project}/regions/{region}/healthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -162846,18 +163456,18 @@ export namespace compute_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified regional HealthCheckService resource - * with the data included in the request. This method supportsPATCH + * 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. * @example @@ -162891,10 +163501,9 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.patch({ - * // Name of the HealthCheckService to update. The name - * // must be 1-63 characters long, and comply with RFC1035. - * healthCheckService: 'placeholder-value', + * const res = await compute.regionHealthChecks.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])?))', @@ -162919,18 +163528,27 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "healthChecks": [], - * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, + * // "healthyThreshold": 0, + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "networkEndpointGroups": [], - * // "notificationEndpoints": [], * // "region": "my_region", - * // "selfLink": "my_selfLink" + * // "selfLink": "my_selfLink", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "unhealthyThreshold": 0 * // } * }, * }); @@ -162980,31 +163598,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Regionhealthcheckservices$Patch, + params: Params$Resource$Regionhealthchecks$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Regionhealthcheckservices$Patch, + params?: Params$Resource$Regionhealthchecks$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Regionhealthcheckservices$Patch, + params: Params$Resource$Regionhealthchecks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Regionhealthcheckservices$Patch, + params: Params$Resource$Regionhealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Regionhealthcheckservices$Patch, + params: Params$Resource$Regionhealthchecks$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$Patch + | Params$Resource$Regionhealthchecks$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -163020,12 +163638,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$Patch; + {}) as Params$Resource$Regionhealthchecks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionhealthcheckservices$Patch; + params = {} as Params$Resource$Regionhealthchecks$Patch; options = {}; } @@ -163040,7 +163658,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' + '/compute/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -163048,8 +163666,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'healthCheckService'], - pathParams: ['healthCheckService', 'project', 'region'], + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], context: this.context, }; if (callback) { @@ -163096,7 +163714,7 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionHealthCheckServices.testIamPermissions({ + * const res = await compute.regionHealthChecks.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])?))', @@ -163134,27 +163752,27 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + params: Params$Resource$Regionhealthchecks$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Regionhealthcheckservices$Testiampermissions, + params?: Params$Resource$Regionhealthchecks$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + params: Params$Resource$Regionhealthchecks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + params: Params$Resource$Regionhealthchecks$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + params: Params$Resource$Regionhealthchecks$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -163162,7 +163780,7 @@ export namespace compute_v1 { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Regionhealthcheckservices$Testiampermissions + | Params$Resource$Regionhealthchecks$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -163178,13 +163796,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionhealthcheckservices$Testiampermissions; + {}) as Params$Resource$Regionhealthchecks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Regionhealthcheckservices$Testiampermissions; + params = {} as Params$Resource$Regionhealthchecks$Testiampermissions; options = {}; } @@ -163199,7 +163816,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions' + '/compute/v1/projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -163220,14 +163837,226 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Updates a HealthCheck 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('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.regionHealthChecks.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])?))', + * // 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 + * // { + * // "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", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, + * // "timeoutSec": 0, + * // "type": "my_type", + * // "unhealthyThreshold": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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. + */ + update( + params: Params$Resource$Regionhealthchecks$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Regionhealthchecks$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Regionhealthchecks$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Regionhealthchecks$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Regionhealthchecks$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Regionhealthchecks$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthchecks$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionhealthchecks$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/v1/projects/{project}/regions/{region}/healthChecks/{healthCheck}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'healthCheck'], + pathParams: ['healthCheck', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } - export interface Params$Resource$Regionhealthcheckservices$Delete extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$Delete extends StandardParameters { /** - * Name of the HealthCheckService to delete. The name - * must be 1-63 characters long, and comply with RFC1035. + * Name of the HealthCheck resource to delete. */ - healthCheckService?: string; + healthCheck?: string; /** * Project ID for this request. */ @@ -163253,12 +164082,11 @@ export namespace compute_v1 { */ requestId?: string; } - export interface Params$Resource$Regionhealthcheckservices$Get extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$Get extends StandardParameters { /** - * Name of the HealthCheckService to update. The name - * must be 1-63 characters long, and comply with RFC1035. + * Name of the HealthCheck resource to return. */ - healthCheckService?: string; + healthCheck?: string; /** * Project ID for this request. */ @@ -163268,7 +164096,7 @@ export namespace compute_v1 { */ region?: string; } - export interface Params$Resource$Regionhealthcheckservices$Insert extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -163297,9 +164125,9 @@ export namespace compute_v1 { /** * Request body metadata */ - requestBody?: Schema$HealthCheckService; + requestBody?: Schema$HealthCheck; } - export interface Params$Resource$Regionhealthcheckservices$List extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -163407,12 +164235,11 @@ export namespace compute_v1 { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Regionhealthcheckservices$Patch extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$Patch extends StandardParameters { /** - * Name of the HealthCheckService to update. The name - * must be 1-63 characters long, and comply with RFC1035. + * Name of the HealthCheck resource to patch. */ - healthCheckService?: string; + healthCheck?: string; /** * Project ID for this request. */ @@ -163441,9 +164268,9 @@ export namespace compute_v1 { /** * Request body metadata */ - requestBody?: Schema$HealthCheckService; + requestBody?: Schema$HealthCheck; } - export interface Params$Resource$Regionhealthcheckservices$Testiampermissions extends StandardParameters { + export interface Params$Resource$Regionhealthchecks$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -163462,29 +164289,50 @@ export namespace compute_v1 { */ requestBody?: Schema$TestPermissionsRequest; } + export interface Params$Resource$Regionhealthchecks$Update extends StandardParameters { + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: 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$HealthCheck; + } - export class Resource$Regioninstancegroupmanagers { + export class Resource$Regionhealthcheckservices { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Flags the specified instances to be immediately removed from the managed - * instance group. Abandoning an instance does not delete the - * instance, but it does remove the instance from any target pools that are - * applied by the managed instance group. This method reduces 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. + * Deletes the specified regional HealthCheckService. * @example * ```js * // Before running the sample: @@ -163516,14 +164364,15 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionInstanceGroupManagers.abandonInstances({ - * // Name of the managed instance group. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.regionHealthCheckServices.delete({ + * // Name of the HealthCheckService to delete. The name + * // must be 1-63 characters long, and comply with RFC1035. + * healthCheckService: '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: 'placeholder-value', + * 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. @@ -163538,14 +164387,6 @@ export namespace compute_v1 { * // 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 - * // { - * // "instances": [] - * // } - * }, * }); * console.log(res.data); * @@ -163592,32 +164433,32 @@ 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. */ - abandonInstances( - params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Regionhealthcheckservices$Delete, options: StreamMethodOptions ): Promise>; - abandonInstances( - params?: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + delete( + params?: Params$Resource$Regionhealthcheckservices$Delete, options?: MethodOptions ): Promise>; - abandonInstances( - params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Regionhealthcheckservices$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - abandonInstances( - params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Regionhealthcheckservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - abandonInstances( - params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Regionhealthcheckservices$Delete, callback: BodyResponseCallback ): void; - abandonInstances(callback: BodyResponseCallback): void; - abandonInstances( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Abandoninstances + | Params$Resource$Regionhealthcheckservices$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -163633,13 +164474,12 @@ export namespace compute_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Abandoninstances; + {}) as Params$Resource$Regionhealthcheckservices$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Regioninstancegroupmanagers$Abandoninstances; + params = {} as Params$Resource$Regionhealthcheckservices$Delete; options = {}; } @@ -163654,16 +164494,16 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances' + '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'region'], + requiredParams: ['project', 'region', 'healthCheckService'], + pathParams: ['healthCheckService', 'project', 'region'], context: this.context, }; if (callback) { @@ -163677,7 +164517,7 @@ export namespace compute_v1 { } /** - * Apply updates to selected instances the managed instance group. + * Returns the specified regional HealthCheckService resource. * @example * ```js * // Before running the sample: @@ -163701,6 +164541,7 @@ 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', * ], * }); * @@ -163709,58 +164550,32 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionInstanceGroupManagers.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])?))', - * // Name of the region scoping this request, should conform to RFC1035. - * region: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allInstances": false, - * // "instances": [], - * // "minimalAction": "my_minimalAction", - * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" - * // } - * }, - * }, - * ); + * const res = await compute.regionHealthCheckServices.get({ + * // Name of the HealthCheckService to update. The name + * // must be 1-63 characters long, and comply with RFC1035. + * healthCheckService: '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 * // { - * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "fingerprint": "my_fingerprint", + * // "healthChecks": [], + * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, + * // "networkEndpointGroups": [], + * // "notificationEndpoints": [], * // "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" + * // "selfLink": "my_selfLink" * // } * } * @@ -163776,56 +164591,53 @@ 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. */ - applyUpdatesToInstances( - params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + get( + params: Params$Resource$Regionhealthcheckservices$Get, options: StreamMethodOptions ): Promise>; - applyUpdatesToInstances( - params?: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + get( + params?: Params$Resource$Regionhealthcheckservices$Get, options?: MethodOptions - ): Promise>; - applyUpdatesToInstances( - params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + ): Promise>; + get( + params: Params$Resource$Regionhealthcheckservices$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - applyUpdatesToInstances( - params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - applyUpdatesToInstances( - params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, - callback: BodyResponseCallback + get( + params: Params$Resource$Regionhealthcheckservices$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - applyUpdatesToInstances( - callback: BodyResponseCallback + get( + params: Params$Resource$Regionhealthcheckservices$Get, + callback: BodyResponseCallback ): void; - applyUpdatesToInstances( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances - | BodyResponseCallback + | Params$Resource$Regionhealthcheckservices$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances; + {}) as Params$Resource$Regionhealthcheckservices$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances; + params = {} as Params$Resource$Regionhealthcheckservices$Get; options = {}; } @@ -163840,35 +164652,31 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances' + '/compute/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'region'], + requiredParams: ['project', 'region', 'healthCheckService'], + pathParams: ['healthCheckService', 'project', 'region'], 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 regional managed - * instance group. Instances are created using the current instance template. - * The create instances operation is marked DONE if - * the createInstances request is successful. The underlying - * actions take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances - * method. + * Creates a regional HealthCheckService resource in the + * specified project and region using the data included in the request. * @example * ```js * // Before running the sample: @@ -163900,17 +164708,12 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionInstanceGroupManagers.createInstances({ - * // The name of the managed instance group. - * // It should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.regionHealthCheckServices.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 theregion - * // where the managed instance group is located. - * // It should conform to RFC1035. - * region: 'placeholder-value', + * // 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. @@ -163918,7 +164721,8 @@ export namespace compute_v1 { * // For example, consider a situation where you make an initial request and * // the request times out. If you make the request again with the same * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // * // The request ID must be * // a valid UUID with the exception that zero UUID is not supported @@ -163929,7 +164733,1464 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { - * // "instances": [] + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "healthChecks": [], + * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "networkEndpointGroups": [], + * // "notificationEndpoints": [], + * // "region": "my_region", + * // "selfLink": "my_selfLink" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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$Regionhealthcheckservices$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Regionhealthcheckservices$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Regionhealthcheckservices$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionhealthcheckservices$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionhealthcheckservices$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Regionhealthcheckservices$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthcheckservices$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionhealthcheckservices$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/v1/projects/{project}/regions/{region}/healthCheckServices' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all the HealthCheckService resources that have been + * configured for the specified project in the given 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('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', + * '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.regionHealthCheckServices.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 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. + * // + * // For example, when partial 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$Regionhealthcheckservices$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Regionhealthcheckservices$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Regionhealthcheckservices$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionhealthcheckservices$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionhealthcheckservices$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Regionhealthcheckservices$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthcheckservices$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionhealthcheckservices$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}/regions/{region}/healthCheckServices' + ).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 regional HealthCheckService resource + * 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: + * // - 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.regionHealthCheckServices.patch({ + * // Name of the HealthCheckService to update. The name + * // must be 1-63 characters long, and comply with RFC1035. + * healthCheckService: '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', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "healthChecks": [], + * // "healthStatusAggregationPolicy": "my_healthStatusAggregationPolicy", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "networkEndpointGroups": [], + * // "notificationEndpoints": [], + * // "region": "my_region", + * // "selfLink": "my_selfLink" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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. + */ + patch( + params: Params$Resource$Regionhealthcheckservices$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Regionhealthcheckservices$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Regionhealthcheckservices$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionhealthcheckservices$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionhealthcheckservices$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Regionhealthcheckservices$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthcheckservices$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionhealthcheckservices$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/v1/projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'healthCheckService'], + pathParams: ['healthCheckService', 'project', 'region'], + 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('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', + * '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.regionHealthCheckServices.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 + * // { + * // "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$Regionhealthcheckservices$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Regionhealthcheckservices$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Regionhealthcheckservices$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Regionhealthcheckservices$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionhealthcheckservices$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regionhealthcheckservices$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/v1/projects/{project}/regions/{region}/healthCheckServices/{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$Regionhealthcheckservices$Delete extends StandardParameters { + /** + * Name of the HealthCheckService to delete. The name + * must be 1-63 characters long, and comply with RFC1035. + */ + healthCheckService?: 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$Regionhealthcheckservices$Get extends StandardParameters { + /** + * Name of the HealthCheckService to update. The name + * must be 1-63 characters long, and comply with RFC1035. + */ + healthCheckService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + export interface Params$Resource$Regionhealthcheckservices$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$HealthCheckService; + } + export interface Params$Resource$Regionhealthcheckservices$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 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$Regionhealthcheckservices$Patch extends StandardParameters { + /** + * Name of the HealthCheckService to update. The name + * must be 1-63 characters long, and comply with RFC1035. + */ + healthCheckService?: 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$HealthCheckService; + } + export interface Params$Resource$Regionhealthcheckservices$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$Regioninstancegroupmanagers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Flags the specified instances to be immediately removed from the managed + * instance group. Abandoning an instance does not delete the + * instance, but it does remove the instance from any target pools that are + * applied by the managed instance group. This method reduces 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: + * // - 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.regionInstanceGroupManagers.abandonInstances({ + * // 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 of the region scoping this request. + * region: '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 + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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. + */ + abandonInstances( + params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + options: StreamMethodOptions + ): Promise>; + abandonInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + options?: MethodOptions + ): Promise>; + abandonInstances( + params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + abandonInstances( + params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + abandonInstances( + params: Params$Resource$Regioninstancegroupmanagers$Abandoninstances, + callback: BodyResponseCallback + ): void; + abandonInstances(callback: BodyResponseCallback): void; + abandonInstances( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Abandoninstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Abandoninstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Abandoninstances; + 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}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Apply updates to selected instances the managed 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('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.regionInstanceGroupManagers.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])?))', + * // Name of the region scoping this request, should conform to RFC1035. + * region: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allInstances": false, + * // "instances": [], + * // "minimalAction": "my_minimalAction", + * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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. + */ + applyUpdatesToInstances( + params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + options: StreamMethodOptions + ): Promise>; + applyUpdatesToInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + options?: MethodOptions + ): Promise>; + applyUpdatesToInstances( + params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + applyUpdatesToInstances( + params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + applyUpdatesToInstances( + params: Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances, + callback: BodyResponseCallback + ): void; + applyUpdatesToInstances( + callback: BodyResponseCallback + ): void; + applyUpdatesToInstances( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Applyupdatestoinstances; + 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}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates instances with per-instance configurations in this regional managed + * instance group. Instances are created using the current instance template. + * The create instances operation is marked DONE if + * the createInstances request is successful. The underlying + * actions take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances + * method. + * @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.regionInstanceGroupManagers.createInstances({ + * // 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])?))', + * // The name of theregion + * // where the managed instance group is located. + * // It should conform to RFC1035. + * region: '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. + * // + * // 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 + * // { + * // "instances": [] * // } * }, * }); @@ -172151,6 +174412,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -172478,6 +174740,7 @@ export namespace compute_v1 { * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "resourceStatus": {}, * // "satisfiesPzi": false, @@ -174406,6 +176669,20 @@ export namespace compute_v1 { /** * 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: @@ -194184,11 +196461,13 @@ export namespace compute_v1 { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "params": {}, * // "protectionTier": "my_protectionTier", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -194517,11 +196796,13 @@ export namespace compute_v1 { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "params": {}, * // "protectionTier": "my_protectionTier", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -195677,11 +197958,13 @@ export namespace compute_v1 { * // "deleteAtTime": "my_deleteAtTime", * // "deploymentType": "my_deploymentType", * // "description": "my_description", + * // "earlyAccessMaintenance": "my_earlyAccessMaintenance", * // "enableEmergentMaintenance": false, * // "id": "my_id", * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "params": {}, * // "protectionTier": "my_protectionTier", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -197102,7 +199385,8 @@ export namespace compute_v1 { * const res = await compute.reservationSubBlocks.get({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // The name of the reservation subBlock. @@ -197198,7 +199482,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}' + '/compute/v1/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -197359,7 +199643,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/getIamPolicy' + '/compute/v1/projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -197499,7 +199783,8 @@ export namespace compute_v1 { * pageToken: 'placeholder-value', * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // Opt-in for partial success behavior which provides partial results in case @@ -197606,7 +199891,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks' + '/compute/v1/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -197666,7 +199951,8 @@ export namespace compute_v1 { * const res = await compute.reservationSubBlocks.performMaintenance({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so @@ -197795,7 +200081,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' + '/compute/v1/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -197858,7 +200144,8 @@ export namespace compute_v1 { * const res = await compute.reservationSubBlocks.reportFaulty({ * // The name of the parent reservation and parent block. In the format of * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\} - * parentName: 'placeholder-value', + * parentName: + * 'reservations/my-reservation/reservationBlocks/my-reservationBlock', * // Project ID for this request. * project: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so @@ -197997,7 +200284,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty' + '/compute/v1/projects/{project}/zones/{zone}/{+parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -198163,7 +200450,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/setIamPolicy' + '/compute/v1/projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -198323,7 +200610,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/testIamPermissions' + '/compute/v1/projects/{project}/zones/{zone}/{+parentResource}/reservationSubBlocks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -238207,6 +240494,7 @@ export namespace compute_v1 { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "status": "my_status", @@ -238377,6 +240665,7 @@ export namespace compute_v1 { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "status": "my_status", @@ -242147,6 +244436,7 @@ export namespace compute_v1 { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", @@ -242468,6 +244758,7 @@ export namespace compute_v1 { * // "labels": {}, * // "name": "my_name", * // "network": "my_network", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", @@ -244065,6 +246356,7 @@ export namespace compute_v1 { * // "labels": {}, * // "localTrafficSelector": [], * // "name": "my_name", + * // "params": {}, * // "peerExternalGateway": "my_peerExternalGateway", * // "peerExternalGatewayInterface": 0, * // "peerGcpGateway": "my_peerGcpGateway", @@ -244246,6 +246538,7 @@ export namespace compute_v1 { * // "labels": {}, * // "localTrafficSelector": [], * // "name": "my_name", + * // "params": {}, * // "peerExternalGateway": "my_peerExternalGateway", * // "peerExternalGatewayInterface": 0, * // "peerGcpGateway": "my_peerGcpGateway", diff --git a/src/apis/config/v1.ts b/src/apis/config/v1.ts index ac067bc2f0a..19c5fb650ce 100644 --- a/src/apis/config/v1.ts +++ b/src/apis/config/v1.ts @@ -1581,7 +1581,7 @@ export namespace config_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/connectors/v1.ts b/src/apis/connectors/v1.ts index dc2ffa8794b..e96a816f5e9 100644 --- a/src/apis/connectors/v1.ts +++ b/src/apis/connectors/v1.ts @@ -2116,6 +2116,24 @@ export namespace connectors_v1 { */ stringValue?: string | null; } + /** + * Request message for GenerateConnectionToolspecOverride API. + */ + export interface Schema$GenerateConnectionToolspecOverrideRequest { + /** + * Required. List of tools for which the tool spec override is to be generated. + */ + toolNames?: Schema$ToolName[]; + } + /** + * Response message for GenerateConnectionToolspecOverride API. + */ + export interface Schema$GenerateConnectionToolspecOverrideResponse { + /** + * Toolspec overrides for the connection. + */ + toolspecOverride?: Schema$ToolspecOverride; + } /** * Header details for a given header to be added to Endpoint. */ @@ -2817,6 +2835,24 @@ export namespace connectors_v1 { */ partner?: string | null; } + /** + * Request message for ModifyConnectionToolspecOverride API. + */ + export interface Schema$ModifyConnectionToolspecOverrideRequest { + /** + * Required. Toolspec overrides to be modified. + */ + toolspecOverride?: Schema$ToolspecOverride; + } + /** + * Response message for ModifyConnectionToolspecOverride API. + */ + export interface Schema$ModifyConnectionToolspecOverrideResponse { + /** + * Toolspec overrides for the connection. + */ + toolspecOverrides?: Schema$ToolspecOverride; + } /** * MultipleSelectConfig represents the multiple options for a config variable. */ @@ -3320,6 +3356,10 @@ export namespace connectors_v1 { */ provisioned?: boolean | null; } + /** + * Request message for RemoveConnectionToolspecOverride API. + */ + export interface Schema$RemoveConnectionToolspecOverrideRequest {} /** * Request message for ConnectorsService.RepairEventing */ @@ -3860,6 +3900,40 @@ export namespace connectors_v1 { */ seconds?: number | null; } + /** + * Tool name for which the tool spec override is to be generated. + */ + export interface Schema$ToolName { + /** + * Optional. Entity type name for which the tool was generated. + */ + entityType?: string | null; + /** + * Required. Tool name that was generated in the list tools call. + */ + name?: string | null; + /** + * Optional. Operation for which the tool was generated. + */ + operation?: string | null; + } + /** + * Toolspec overrides for a connection only holds the information that is to be displayed in the UI for admins. + */ + export interface Schema$ToolspecOverride { + /** + * Output only. Created time. + */ + createTime?: string | null; + /** + * Required. List of tools defined in the tool spec. Marking this field as required as this is the only field that is editable by the user in modify API so we should have at least one tool in the list. + */ + tools?: Array<{[key: string]: any}> | null; + /** + * Output only. Updated time. + */ + updateTime?: string | null; + } /** * * TrafficShapingConfig defines the configuration for shaping API traffic by specifying a quota limit and the duration over which this limit is enforced. This configuration helps to control and manage the rate at which API calls are made on the client side, preventing service overload on the backend. For example: - if the quota limit is 100 calls per 10 seconds, then the message would be: { quota_limit: 100 duration: { seconds: 10 \} \} - if the quota limit is 100 calls per 5 minutes, then the message would be: { quota_limit: 100 duration: { seconds: 300 \} \} - if the quota limit is 10000 calls per day, then the message would be: { quota_limit: 10000 duration: { seconds: 86400 \} and so on. */ @@ -4451,7 +4525,7 @@ export namespace connectors_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -5165,6 +5239,163 @@ export namespace connectors_v1 { } } + /** + * Generates Toolspec Override for a connection for the given list of entityTypes and operations. Returns results from the db if the entityType and operation are already present. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/connectors.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const connectors = google.connectors('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 connectors.projects.locations.connections.generateToolspecOverride({ + * // Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + * name: 'projects/my-project/locations/my-location/connections/my-connection', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolNames": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "toolspecOverride": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride, + options: StreamMethodOptions + ): Promise>; + generateToolspecOverride( + params?: Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride, + callback: BodyResponseCallback + ): void; + generateToolspecOverride( + callback: BodyResponseCallback + ): void; + generateToolspecOverride( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://connectors.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:generateToolspecOverride').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Gets details of a single Connection. * @example @@ -5925,6 +6156,163 @@ export namespace connectors_v1 { } } + /** + * Updates Toolspec Override for a connection with the admin provided descriptions. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/connectors.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const connectors = google.connectors('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 connectors.projects.locations.connections.modifyToolspecOverride({ + * // Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + * name: 'projects/my-project/locations/my-location/connections/my-connection', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolspecOverride": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "toolspecOverrides": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + modifyToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride, + options: StreamMethodOptions + ): Promise>; + modifyToolspecOverride( + params?: Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + modifyToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + modifyToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + modifyToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride, + callback: BodyResponseCallback + ): void; + modifyToolspecOverride( + callback: BodyResponseCallback + ): void; + modifyToolspecOverride( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://connectors.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:modifyToolspecOverride').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Updates the parameters of a single Connection. * @example @@ -6107,6 +6495,149 @@ export namespace connectors_v1 { } } + /** + * Deletes all Toolspec Override for a connection. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/connectors.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const connectors = google.connectors('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 connectors.projects.locations.connections.removeToolspecOverride({ + * // Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + * name: 'projects/my-project/locations/my-location/connections/my-connection', + * + * // 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. + */ + removeToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Removetoolspecoverride, + options: StreamMethodOptions + ): Promise>; + removeToolspecOverride( + params?: Params$Resource$Projects$Locations$Connections$Removetoolspecoverride, + options?: MethodOptions + ): Promise>; + removeToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Removetoolspecoverride, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Removetoolspecoverride, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeToolspecOverride( + params: Params$Resource$Projects$Locations$Connections$Removetoolspecoverride, + callback: BodyResponseCallback + ): void; + removeToolspecOverride(callback: BodyResponseCallback): void; + removeToolspecOverride( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Removetoolspecoverride + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Removetoolspecoverride; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Removetoolspecoverride; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://connectors.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:removeToolspecOverride').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * RepaiEventing tries to repair eventing related event subscriptions. * @example @@ -6730,6 +7261,17 @@ export namespace connectors_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Connections$Generatetoolspecoverride extends StandardParameters { + /** + * Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateConnectionToolspecOverrideRequest; + } export interface Params$Resource$Projects$Locations$Connections$Get extends StandardParameters { /** * Required. Resource name of the form: `projects/x/locations/x/connections/x` @@ -6793,6 +7335,17 @@ export namespace connectors_v1 { */ requestBody?: Schema$ListenEventRequest; } + export interface Params$Resource$Projects$Locations$Connections$Modifytoolspecoverride extends StandardParameters { + /** + * Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ModifyConnectionToolspecOverrideRequest; + } export interface Params$Resource$Projects$Locations$Connections$Patch extends StandardParameters { /** * Output only. Resource name of the Connection. Format: projects/{project\}/locations/{location\}/connections/{connection\} @@ -6808,6 +7361,17 @@ export namespace connectors_v1 { */ requestBody?: Schema$Connection; } + export interface Params$Resource$Projects$Locations$Connections$Removetoolspecoverride extends StandardParameters { + /** + * Required. Resource name format: projects/{project\}/locations/{location\}/connections/{connection\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RemoveConnectionToolspecOverrideRequest; + } export interface Params$Resource$Projects$Locations$Connections$Repaireventing extends StandardParameters { /** * Required. Resource name of the form: `projects/x/locations/x/connections/x` diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index fe4caebf1cb..97cda662311 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -738,7 +738,7 @@ export namespace container_v1 { */ clusterIpv4Cidr?: string | null; /** - * Enable/Disable Compliance Posture features for the cluster. + * Optional. Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster. */ compliancePostureConfig?: Schema$CompliancePostureConfig; /** @@ -978,7 +978,7 @@ export namespace container_v1 { */ secretManagerConfig?: Schema$SecretManagerConfig; /** - * Enable/Disable Security Posture API features for the cluster. + * Optional. Enable/Disable Security Posture API features for the cluster. */ securityPostureConfig?: Schema$SecurityPostureConfig; /** @@ -1109,7 +1109,7 @@ export namespace container_v1 { */ desiredClusterAutoscaling?: Schema$ClusterAutoscaling; /** - * Enable/Disable Compliance Posture features for the cluster. + * Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster. */ desiredCompliancePostureConfig?: Schema$CompliancePostureConfig; /** @@ -1432,7 +1432,7 @@ export namespace container_v1 { */ export interface Schema$CompleteNodePoolUpgradeRequest {} /** - * CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. + * Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. */ export interface Schema$CompliancePostureConfig { /** @@ -1523,6 +1523,15 @@ export namespace container_v1 { */ enabled?: boolean | null; } + /** + * Contains config to modify node-level parameters for container restart behavior. + */ + export interface Schema$CrashLoopBackOffConfig { + /** + * Optional. The maximum duration the backoff delay can accrue to for container restarts, minimum 1 second, maximum 300 seconds. If not set, defaults to the internal crashloopbackoff maximum. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". See https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay for more details. + */ + maxContainerRestartPeriod?: string | null; + } /** * CreateClusterRequest creates a cluster. */ @@ -1652,6 +1661,27 @@ export namespace container_v1 { */ desiredTier?: string | null; } + /** + * DisruptionBudget defines the upgrade disruption budget for the cluster control plane. + */ + export interface Schema$DisruptionBudget { + /** + * Output only. The last time a disruption was performed on the control plane. + */ + lastDisruptionTime?: string | null; + /** + * Output only. The last time a minor version upgrade was performed on the control plane. + */ + lastMinorVersionDisruptionTime?: string | null; + /** + * Optional. The minimum duration between two minor version upgrades of the control plane. + */ + minorVersionDisruptionInterval?: string | null; + /** + * Optional. The minimum duration between two patch version upgrades of the control plane. + */ + patchVersionDisruptionInterval?: string | null; + } /** * DisruptionEvent is a notification sent to customers about the disruption event of a resource. */ @@ -2517,6 +2547,10 @@ export namespace container_v1 { * MaintenancePolicy defines the maintenance policy to be used for the cluster. */ export interface Schema$MaintenancePolicy { + /** + * Optional. The upgrade disruption budget for the cluster control plane. + */ + disruptionBudget?: Schema$DisruptionBudget; /** * A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy. */ @@ -3088,6 +3122,10 @@ export namespace container_v1 { * Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * "none": the default, which represents the existing scheduling behavior. * "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified. */ cpuManagerPolicy?: string | null; + /** + * Optional. Contains configuration options to modify node-level parameters for container restart behavior. + */ + crashLoopBackOff?: Schema$CrashLoopBackOffConfig; /** * Optional. eviction_max_pod_grace_period_seconds is the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. This value effectively caps the Pod's terminationGracePeriodSeconds value during soft evictions. Default: 0. Range: [0, 300]. */ @@ -3136,6 +3174,14 @@ export namespace container_v1 { * Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304. */ podPidsLimit?: string | null; + /** + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum allowed grace period (in seconds) used to terminate critical pods during a node shutdown. This value should be <= shutdown_grace_period_seconds, and is only valid if shutdown_grace_period_seconds is set. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ Range: [0, 120]. + */ + shutdownGracePeriodCriticalPodsSeconds?: number | null; + /** + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period (in seconds) the total duration that the node should delay the shutdown during a graceful shutdown. This is the total grace period for pod termination for both regular and critical pods. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ If set to 0, node will not enable the graceful node shutdown functionality. This field is only valid for Spot VMs. Allowed values: 0, 30, 120. + */ + shutdownGracePeriodSeconds?: number | null; /** * Optional. Defines whether to enable single process OOM killer. If true, will prevent the memory.oom.group flag from being set for container cgroups in cgroups v2. This causes processes in the container to be OOM killed individually instead of as a group. */ @@ -3216,7 +3262,7 @@ export namespace container_v1 { */ podRange?: string | null; /** - * Optional. The subnetwork name/path for the node pool. Format: projects/{project\}/regions/{region\}/subnetworks/{subnetwork\} If the cluster is associated with multiple subnetworks, the subnetwork can be either: 1. A user supplied subnetwork name/full path during node pool creation. Example1: my-subnet Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet 2. A subnetwork path picked based on the IP utilization during node pool creation and is immutable. + * Optional. The subnetwork name/path for the node pool. Format: projects/{project\}/regions/{region\}/subnetworks/{subnetwork\} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. */ subnetwork?: string | null; } diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index bea5c9dc34f..8b11011a2ed 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -788,7 +788,7 @@ export namespace container_v1beta1 { */ clusterTelemetry?: Schema$ClusterTelemetry; /** - * Enable/Disable Compliance Posture features for the cluster. + * Optional. Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster. */ compliancePostureConfig?: Schema$CompliancePostureConfig; /** @@ -1060,7 +1060,7 @@ export namespace container_v1beta1 { */ secretSyncConfig?: Schema$SecretSyncConfig; /** - * Enable/Disable Security Posture API features for the cluster. + * Optional. Enable/Disable Security Posture API features for the cluster. */ securityPostureConfig?: Schema$SecurityPostureConfig; /** @@ -1216,7 +1216,7 @@ export namespace container_v1beta1 { */ desiredClusterTelemetry?: Schema$ClusterTelemetry; /** - * Enable/Disable Compliance Posture features for the cluster. + * Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. Enable/Disable Compliance Posture features for the cluster. */ desiredCompliancePostureConfig?: Schema$CompliancePostureConfig; /** @@ -1605,7 +1605,7 @@ export namespace container_v1beta1 { */ export interface Schema$CompleteNodePoolUpgradeRequest {} /** - * CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. + * Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation. CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. */ export interface Schema$CompliancePostureConfig { /** @@ -1696,6 +1696,15 @@ export namespace container_v1beta1 { */ enabled?: boolean | null; } + /** + * Contains config to modify node-level parameters for container restart behavior. + */ + export interface Schema$CrashLoopBackOffConfig { + /** + * Optional. The maximum duration the backoff delay can accrue to for container restarts, minimum 1 second, maximum 300 seconds. If not set, defaults to the internal crashloopbackoff maximum. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". See https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay for more details. + */ + maxContainerRestartPeriod?: string | null; + } /** * CreateClusterRequest creates a cluster. */ @@ -1842,6 +1851,27 @@ export namespace container_v1beta1 { */ desiredTier?: string | null; } + /** + * DisruptionBudget defines the upgrade disruption budget for the cluster control plane. + */ + export interface Schema$DisruptionBudget { + /** + * Output only. The last time a disruption was performed on the control plane. + */ + lastDisruptionTime?: string | null; + /** + * Output only. The last time a minor version upgrade was performed on the control plane. + */ + lastMinorVersionDisruptionTime?: string | null; + /** + * Optional. The minimum duration between two minor version upgrades of the control plane. + */ + minorVersionDisruptionInterval?: string | null; + /** + * Optional. The minimum duration between two patch version upgrades of the control plane. + */ + patchVersionDisruptionInterval?: string | null; + } /** * DisruptionEvent is a notification sent to customers about the disruption event of a resource. */ @@ -2785,6 +2815,10 @@ export namespace container_v1beta1 { * MaintenancePolicy defines the maintenance policy to be used for the cluster. */ export interface Schema$MaintenancePolicy { + /** + * Optional. The upgrade disruption budget for the cluster control plane. + */ + disruptionBudget?: Schema$DisruptionBudget; /** * A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy. */ @@ -3381,6 +3415,10 @@ export namespace container_v1beta1 { * Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * "none": the default, which represents the existing scheduling behavior. * "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified. */ cpuManagerPolicy?: string | null; + /** + * Optional. Contains configuration options to modify node-level parameters for container restart behavior. + */ + crashLoopBackOff?: Schema$CrashLoopBackOffConfig; /** * Optional. eviction_max_pod_grace_period_seconds is the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. This value effectively caps the Pod's terminationGracePeriodSeconds value during soft evictions. Default: 0. Range: [0, 300]. */ @@ -3429,6 +3467,14 @@ export namespace container_v1beta1 { * Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304. */ podPidsLimit?: string | null; + /** + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum allowed grace period (in seconds) used to terminate critical pods during a node shutdown. This value should be <= shutdown_grace_period_seconds, and is only valid if shutdown_grace_period_seconds is set. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ Range: [0, 120]. + */ + shutdownGracePeriodCriticalPodsSeconds?: number | null; + /** + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period (in seconds) the total duration that the node should delay the shutdown during a graceful shutdown. This is the total grace period for pod termination for both regular and critical pods. https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ If set to 0, node will not enable the graceful node shutdown functionality. This field is only valid for Spot VMs. Allowed values: 0, 30, 120. + */ + shutdownGracePeriodSeconds?: number | null; /** * Optional. Defines whether to enable single process OOM killer. If true, will prevent the memory.oom.group flag from being set for container cgroups in cgroups v2. This causes processes in the container to be OOM killed individually instead of as a group. */ @@ -3513,7 +3559,7 @@ export namespace container_v1beta1 { */ podRange?: string | null; /** - * Optional. The subnetwork name/path for the node pool. Format: projects/{project\}/regions/{region\}/subnetworks/{subnetwork\} If the cluster is associated with multiple subnetworks, the subnetwork can be either: 1. A user supplied subnetwork name/full path during node pool creation. Example1: my-subnet Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet 2. A subnetwork path picked based on the IP utilization during node pool creation and is immutable. + * Optional. The subnetwork name/path for the node pool. Format: projects/{project\}/regions/{region\}/subnetworks/{subnetwork\} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. */ subnetwork?: string | null; } diff --git a/src/apis/datacatalog/v1.ts b/src/apis/datacatalog/v1.ts index ff9e55c6fd3..70f25a09c3c 100644 --- a/src/apis/datacatalog/v1.ts +++ b/src/apis/datacatalog/v1.ts @@ -1779,7 +1779,7 @@ export namespace datacatalog_v1 { v1Entry?: Schema$GoogleCloudDatacatalogV1Entry; } /** - * A tag template defines a tag that can have one or more typed fields. The template is used to create tags that are attached to Google Cloud resources. [Tag template roles] (https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. For example, see the [TagTemplate User] (https://cloud.google.com/data-catalog/docs/how-to/template-user) role that includes a permission to use the tag template to tag resources. + * A tag template defines a tag that can have one or more typed fields. The template is used to create tags that are attached to Google Cloud resources. [Tag template roles] (https://cloud.google.com/iam/docs/roles-permissions/datacatalog) provide permissions to create, edit, and use the template. For example, see the [TagTemplate User] (https://cloud.google.com/data-catalog/docs/how-to/template-user) role that includes a permission to use the tag template to tag resources. */ export interface Schema$GoogleCloudDatacatalogV1TagTemplate { /** diff --git a/src/apis/datacatalog/v1beta1.ts b/src/apis/datacatalog/v1beta1.ts index bce94adcb1d..74f7acb47d9 100644 --- a/src/apis/datacatalog/v1beta1.ts +++ b/src/apis/datacatalog/v1beta1.ts @@ -761,7 +761,7 @@ export namespace datacatalog_v1beta1 { displayName?: string | null; } /** - * A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources. + * A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/roles-permissions/datacatalog) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources. */ export interface Schema$GoogleCloudDatacatalogV1beta1TagTemplate { /** diff --git a/src/apis/dataflow/v1b3.ts b/src/apis/dataflow/v1b3.ts index eb2abc72948..3d109ec01c9 100644 --- a/src/apis/dataflow/v1b3.ts +++ b/src/apis/dataflow/v1b3.ts @@ -1215,6 +1215,10 @@ export namespace dataflow_v1b3 { * Request to get worker stacktraces from debug capture. */ export interface Schema$GetWorkerStacktracesRequest { + /** + * The end time for the stacktrace query. The returned stacktraces will be a recent stack trace at or shortly before this time. + */ + endTime?: string | null; /** * The worker for which to get stacktraces. The returned stacktraces will be for the SDK harness running on this worker. */ @@ -1436,6 +1440,10 @@ export namespace dataflow_v1b3 { * Optional. The user-specified Dataflow job name. Only one active job with a given name can exist in a project within one region at any given time. Jobs in different regions can have the same name. If a caller attempts to create a job with the same name as an active job that already exists, the attempt returns the existing job. The name must match the regular expression `[a-z]([-a-z0-9]{0,1022\}[a-z0-9])?` */ name?: string | null; + /** + * Output only. Indicates whether the job can be paused. + */ + pausable?: boolean | null; /** * Preliminary field: The format of this data may change at any time. A description of the user pipeline and stages through which it is executed. Created by Cloud Dataflow service. Only retrieved with JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL. */ @@ -2610,9 +2618,13 @@ export namespace dataflow_v1b3 { */ export interface Schema$RuntimeUpdatableParams { /** - * Optional. The backlog threshold duration in seconds for autoscaling. Value must be non-negative. + * Optional. Deprecated: Use `autoscaling_tier` instead. The backlog threshold duration in seconds for autoscaling. Value must be non-negative. */ acceptableBacklogDuration?: string | null; + /** + * Optional. The backlog threshold tier for autoscaling. Value must be one of "low-latency", "medium-latency", or "high-latency". + */ + autoscalingTier?: string | null; /** * The maximum number of workers to cap autoscaling at. This field is currently only supported for Streaming Engine jobs. */ @@ -3983,6 +3995,14 @@ export namespace dataflow_v1b3 { * The default package set to install. This allows the service to select a default set of packages which are useful to worker harnesses written in a particular language. */ defaultPackageSet?: string | null; + /** + * Optional. IOPS provisioned for the root disk for VMs. + */ + diskProvisionedIops?: string | null; + /** + * Optional. Throughput provisioned for the root disk for VMs. + */ + diskProvisionedThroughputMibps?: string | null; /** * Size of root disk for VMs, in GB. If zero or unspecified, the service will attempt to choose a reasonable default. */ @@ -4905,6 +4925,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -4940,6 +4961,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -5113,6 +5135,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -5747,6 +5770,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -5782,6 +5806,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -7411,6 +7436,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -7446,6 +7472,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -7618,6 +7645,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -8407,6 +8435,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -8442,6 +8471,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -8921,6 +8951,7 @@ export namespace dataflow_v1b3 { * requestBody: { * // request body parameters * // { + * // "endTime": "my_endTime", * // "workerId": "my_workerId" * // } * }, @@ -10765,6 +10796,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", @@ -11663,6 +11695,7 @@ export namespace dataflow_v1b3 { * // "labels": {}, * // "location": "my_location", * // "name": "my_name", + * // "pausable": false, * // "pipelineDescription": {}, * // "projectId": "my_projectId", * // "replaceJobId": "my_replaceJobId", diff --git a/src/apis/datafusion/v1.ts b/src/apis/datafusion/v1.ts index cf096885a2b..c77657afe82 100644 --- a/src/apis/datafusion/v1.ts +++ b/src/apis/datafusion/v1.ts @@ -494,7 +494,7 @@ export namespace datafusion_v1 { */ operations?: Schema$Operation[]; /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations. + * 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; } @@ -527,6 +527,10 @@ export namespace datafusion_v1 { * Logging configuration for a Data Fusion instance. */ export interface Schema$LoggingConfig { + /** + * Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above. + */ + enableInstanceV2Logs?: boolean | null; /** * Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging. */ @@ -3622,7 +3626,7 @@ export namespace datafusion_v1 { * 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 e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * // 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); @@ -3774,7 +3778,7 @@ export namespace datafusion_v1 { */ 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 e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * 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; } diff --git a/src/apis/datafusion/v1beta1.ts b/src/apis/datafusion/v1beta1.ts index 30d398cf3e3..e82d1569ce3 100644 --- a/src/apis/datafusion/v1beta1.ts +++ b/src/apis/datafusion/v1beta1.ts @@ -520,7 +520,7 @@ export namespace datafusion_v1beta1 { */ operations?: Schema$Operation[]; /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations. + * 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; } @@ -553,6 +553,10 @@ export namespace datafusion_v1beta1 { * Logging configuration for a Data Fusion instance. */ export interface Schema$LoggingConfig { + /** + * Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above. + */ + enableInstanceV2Logs?: boolean | null; /** * Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging. */ @@ -4650,7 +4654,7 @@ export namespace datafusion_v1beta1 { * 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 e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * // 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); @@ -4802,7 +4806,7 @@ export namespace datafusion_v1beta1 { */ 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 e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * 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; } diff --git a/src/apis/datalabeling/v1beta1.ts b/src/apis/datalabeling/v1beta1.ts index 4db166a624f..00ec4ccf16a 100644 --- a/src/apis/datalabeling/v1beta1.ts +++ b/src/apis/datalabeling/v1beta1.ts @@ -3174,6 +3174,10 @@ export namespace datalabeling_v1beta1 { * A list of operations that matches the specified filter in the request. */ operations?: Schema$GoogleLongrunningOperation[]; + /** + * 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; } /** * This resource represents a long-running operation that is the result of a network API call. @@ -10816,13 +10820,16 @@ export namespace datalabeling_v1beta1 { * 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 * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -10967,5 +10974,9 @@ export namespace datalabeling_v1beta1 { * 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; } } diff --git a/src/apis/datamanager/v1.ts b/src/apis/datamanager/v1.ts index 097fdc337f8..eb67446df6e 100644 --- a/src/apis/datamanager/v1.ts +++ b/src/apis/datamanager/v1.ts @@ -112,6 +112,7 @@ export namespace datamanager_v1 { */ export class Datamanager { context: APIRequestContext; + accountTypes: Resource$Accounttypes; audienceMembers: Resource$Audiencemembers; events: Resource$Events; requestStatus: Resource$Requeststatus; @@ -122,6 +123,7 @@ export namespace datamanager_v1 { google, }; + this.accountTypes = new Resource$Accounttypes(this.context); this.audienceMembers = new Resource$Audiencemembers(this.context); this.events = new Resource$Events(this.context); this.requestStatus = new Resource$Requeststatus(this.context); @@ -191,13 +193,21 @@ export namespace datamanager_v1 { */ mobileData?: Schema$MobileData; /** - * [Publisher Advertiser Identity Reconciliation (PAIR) IDs](//support.google.com/admanager/answer/15067908). + * [Publisher Advertiser Identity Reconciliation (PAIR) IDs](//support.google.com/admanager/answer/15067908). This feature is only available to data partners. */ pairData?: Schema$PairData; + /** + * Data related to publisher provided identifiers. This feature is only available to data partners. + */ + ppidData?: Schema$PpidData; /** * User-provided data that identifies the user. */ userData?: Schema$UserData; + /** + * Data related to unique identifiers for a user, as defined by the advertiser. + */ + userIdData?: Schema$UserIdData; } /** * A data encryption key wrapped by an AWS KMS key. @@ -220,6 +230,19 @@ export namespace datamanager_v1 { */ roleArn?: string | null; } + /** + * Baseline criteria against which insights are compared. + */ + export interface Schema$Baseline { + /** + * The baseline location of the request. Baseline location is an OR-list of the requested regions. + */ + baselineLocation?: Schema$Location; + /** + * If set to true, the service will try to automatically detect the baseline location for insights. + */ + locationAutoDetectionEnabled?: boolean | null; + } /** * The cart data associated with the event. */ @@ -258,6 +281,19 @@ export namespace datamanager_v1 { */ adUserData?: string | null; } + /** + * Additional information when `CONTACT_ID` is one of the `upload_key_types`. + */ + export interface Schema$ContactIdInfo { + /** + * Optional. Immutable. Source of the upload data + */ + dataSourceType?: string | null; + /** + * Output only. Match rate for customer match user lists. + */ + matchRatePercentage?: number | null; + } /** * Custom variable for ads conversions. */ @@ -313,6 +349,10 @@ export namespace datamanager_v1 { */ userAgent?: 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 {} /** * Encryption information for the data being ingested. */ @@ -530,10 +570,51 @@ export namespace datamanager_v1 { * The status of the pair data ingestion to the destination. */ pairDataIngestionStatus?: Schema$IngestPairDataStatus; + /** + * The status of the ppid data ingestion to the destination. + */ + ppidDataIngestionStatus?: Schema$IngestPpidDataStatus; /** * The status of the user data ingestion to the destination. */ userDataIngestionStatus?: Schema$IngestUserDataStatus; + /** + * The status of the user id data ingestion to the destination. + */ + userIdDataIngestionStatus?: Schema$IngestUserIdDataStatus; + } + /** + * Represents a user list that is populated by user provided data. + */ + export interface Schema$IngestedUserListInfo { + /** + * Optional. Additional information when `CONTACT_ID` is one of the `upload_key_types`. + */ + contactIdInfo?: Schema$ContactIdInfo; + /** + * Optional. Additional information when `MOBILE_ID` is one of the `upload_key_types`. + */ + mobileIdInfo?: Schema$MobileIdInfo; + /** + * Optional. Additional information when `PAIR_ID` is one of the `upload_key_types`. This feature is only available to data partners. + */ + pairIdInfo?: Schema$PairIdInfo; + /** + * Optional. Additional information for partner audiences. This feature is only available to data partners. + */ + partnerAudienceInfo?: Schema$PartnerAudienceInfo; + /** + * Optional. Additional information for `PSEUDONYMOUS_ID` is one of the `upload_key_types`. + */ + pseudonymousIdInfo?: Schema$PseudonymousIdInfo; + /** + * Required. Immutable. Upload key types of this user list. + */ + uploadKeyTypes?: string[] | null; + /** + * Optional. Additional information when `USER_ID` is one of the `upload_key_types`. + */ + userIdInfo?: Schema$UserIdInfo; } /** * Request to upload audience members to the provided destinations. Returns an IngestEventsResponse. @@ -608,6 +689,19 @@ export namespace datamanager_v1 { */ recordCount?: string | null; } + /** + * The status of the ppid data ingestion to the destination containing stats related to the ingestion. + */ + export interface Schema$IngestPpidDataStatus { + /** + * The total count of ppids sent in the upload request for the destination. Includes all ppids in the request, regardless of whether they were successfully ingested or not. + */ + ppidCount?: string | null; + /** + * 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 status of the user data ingestion to the destination containing stats related to the ingestion. */ @@ -625,6 +719,19 @@ export namespace datamanager_v1 { */ userIdentifierCount?: string | null; } + /** + * The status of the user id data ingestion to the destination containing stats related to the ingestion. + */ + export interface Schema$IngestUserIdDataStatus { + /** + * 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 total count of user ids sent in the upload request for the destination. Includes all user ids in the request, regardless of whether they were successfully ingested or not. + */ + userIdCount?: string | null; + } /** * Represents an item in the cart associated with the event. */ @@ -663,6 +770,101 @@ export namespace datamanager_v1 { */ value?: string | null; } + /** + * Response from the ListUserListDirectLicensesRequest. + */ + export interface Schema$ListUserListDirectLicensesResponse { + /** + * 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 licenses for the given user list in the request. + */ + userListDirectLicenses?: Schema$UserListDirectLicense[]; + } + /** + * Response from the ListUserListGlobalLicensesCustomerInfoRequest. + */ + export interface Schema$ListUserListGlobalLicenseCustomerInfosResponse { + /** + * 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 customer information for the given license in the request. + */ + userListGlobalLicenseCustomerInfos?: Schema$UserListGlobalLicenseCustomerInfo[]; + } + /** + * Response from the ListUserListGlobalLicensesRequest. + */ + export interface Schema$ListUserListGlobalLicensesResponse { + /** + * 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 licenses for the given user list in the request. + */ + userListGlobalLicenses?: Schema$UserListGlobalLicense[]; + } + /** + * Response message for ListUserLists. + */ + export interface Schema$ListUserListsResponse { + /** + * 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 user lists from the specified account. + */ + userLists?: Schema$UserList[]; + } + /** + * The baseline location of the request. Baseline location is on OR-list of ISO 3166-1 alpha-2 region codes of the requested regions. + */ + export interface Schema$Location { + /** + * List of ISO 3166-1 alpha-2 region codes. + */ + regionCodes?: string[] | null; + } + /** + * Insights for marketing data. This feature is only available to data partners. + */ + export interface Schema$MarketingDataInsight { + /** + * Insights for values of a given dimension. + */ + attributes?: Schema$MarketingDataInsightsAttribute[]; + /** + * The dimension to which the insight belongs. + */ + dimension?: string | null; + } + /** + * Insights for a collection of related attributes of the same dimension. + */ + export interface Schema$MarketingDataInsightsAttribute { + /** + * Age range of the audience for which the lift is provided. + */ + ageRange?: string | null; + /** + * Gender of the audience for which the lift is provided. + */ + gender?: string | null; + /** + * Measure of lift that the audience has for the attribute value as compared to the baseline. Range [0-1]. + */ + lift?: number | null; + /** + * The user interest ID. + */ + userInterestId?: string | null; + } /** * Mobile IDs for the audience. At least one mobile ID is required. */ @@ -673,7 +875,24 @@ export namespace datamanager_v1 { mobileIds?: string[] | null; } /** - * [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience. At least one PAIR ID is required. + * Additional information when `MOBILE_ID` is one of the `upload_key_types`. + */ + export interface Schema$MobileIdInfo { + /** + * Required. Immutable. A string that uniquely identifies a mobile application from which the data was collected. + */ + appId?: string | null; + /** + * Optional. Immutable. Source of the upload data. + */ + dataSourceType?: string | null; + /** + * Required. Immutable. The key space of mobile IDs. + */ + keySpace?: string | null; + } + /** + * [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience. At least one PAIR ID is required. This feature is only available to data partners. */ export interface Schema$PairData { /** @@ -681,6 +900,74 @@ export namespace datamanager_v1 { */ pairIds?: string[] | null; } + /** + * Additional information when `PAIR_ID` is one of the `upload_key_types`. This feature is only available to data partners. + */ + export interface Schema$PairIdInfo { + /** + * Output only. The count of the advertiser's first party data records that have been uploaded to a clean room provider. This does not signify the size of a PAIR user list. + */ + advertiserIdentifierCount?: string | null; + /** + * Required. Immutable. Identifies a unique advertiser to publisher relationship with one clean room provider or across multiple clean room providers. + */ + cleanRoomIdentifier?: string | null; + /** + * Output only. This field denotes the percentage of membership match of this user list with the corresponding publisher's first party data. Must be between 0 and 100 inclusive. + */ + matchRatePercentage?: number | null; + /** + * Required. Immutable. Identifies the publisher that the Publisher Advertiser Identity Reconciliation user list is reconciled with. This field is provided by the cleanroom provider and is only unique in the scope of that cleanroom. This cannot be used as a global identifier across multiple cleanrooms. + */ + publisherId?: string | null; + /** + * Optional. Descriptive name of the publisher to be displayed in the UI for a better targeting experience. + */ + publisherName?: string | null; + } + /** + * Additional information for partner audiences. This feature is only available to data partners. + */ + export interface Schema$PartnerAudienceInfo { + /** + * Optional. The commerce partner name. Only allowed if `partner_audience_source` is `COMMERCE_AUDIENCE`. + */ + commercePartner?: string | null; + /** + * Required. Immutable. The source of the partner audience. + */ + partnerAudienceSource?: string | null; + } + /** + * A partner link between an owning account and a partner account. + */ + export interface Schema$PartnerLink { + /** + * Identifier. The name of the partner link. Format: accountTypes/{account_type\}/accounts/{account\}/partnerLinks/{partner_link\} + */ + name?: string | null; + /** + * Required. The owning account granting access to the partner account. + */ + owningAccount?: Schema$ProductAccount; + /** + * Required. The partner account granted access by the owning account. + */ + partnerAccount?: Schema$ProductAccount; + /** + * Output only. The partner link ID. + */ + partnerLinkId?: string | null; + } + /** + * Publisher provided identifiers data holding the ppids. At least one ppid is required. This feature is only available to data partners. + */ + export interface Schema$PpidData { + /** + * Required. The list of publisher provided identifiers for a user. + */ + ppids?: string[] | null; + } /** * Represents a specific account. */ @@ -698,6 +985,19 @@ export namespace datamanager_v1 { */ product?: string | null; } + /** + * Additional information when `PSEUDONYMOUS_ID` is one of the `upload_key_types`. + */ + export interface Schema$PseudonymousIdInfo { + /** + * Optional. Immutable. The number of billable records (e.g. uploaded or matched). + */ + billableRecordCount?: string | null; + /** + * Output only. Sync status of the user list. + */ + syncStatus?: string | null; + } /** * Request to remove users from an audience in the provided destinations. Returns a RemoveAudienceMembersResponse. */ @@ -744,10 +1044,18 @@ export namespace datamanager_v1 { * The status of the pair data removal from the destination. */ pairDataRemovalStatus?: Schema$RemovePairDataStatus; + /** + * The status of the ppid data removal from the destination. + */ + ppidDataRemovalStatus?: Schema$RemovePpidDataStatus; /** * The status of the user data removal from the destination. */ userDataRemovalStatus?: Schema$RemoveUserDataStatus; + /** + * The status of the user id data removal from the destination. + */ + userIdDataRemovalStatus?: Schema$RemoveUserIdDataStatus; } /** * The status of the mobile data removal from the destination. @@ -775,6 +1083,19 @@ export namespace datamanager_v1 { */ recordCount?: string | null; } + /** + * The status of the ppid data removal from the destination. + */ + export interface Schema$RemovePpidDataStatus { + /** + * The total count of ppids sent in the removal request. Includes all ppids in the request, regardless of whether they were successfully removed or not. + */ + ppidCount?: string | null; + /** + * 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 user data removal from the destination. */ @@ -788,6 +1109,19 @@ export namespace datamanager_v1 { */ userIdentifierCount?: string | null; } + /** + * The status of the user id data removal from the destination. + */ + export interface Schema$RemoveUserIdDataStatus { + /** + * 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 total count of user ids sent in the removal request. Includes all user ids in the request, regardless of whether they were successfully removed or not. + */ + userIdCount?: string | null; + } /** * A request status per destination. */ @@ -821,6 +1155,28 @@ export namespace datamanager_v1 { */ warningInfo?: Schema$WarningInfo; } + /** + * Request message for DM API MarketingDataInsightsService.RetrieveInsights + */ + export interface Schema$RetrieveInsightsRequest { + /** + * Required. Baseline for the insights requested. + */ + baseline?: Schema$Baseline; + /** + * Required. The user list ID for which insights are requested. + */ + userListId?: string | null; + } + /** + * Response message for DM API MarketingDataInsightsService.RetrieveInsights + */ + export interface Schema$RetrieveInsightsResponse { + /** + * Contains the insights for the marketing data. + */ + marketingDataInsights?: Schema$MarketingDataInsight[]; + } /** * Response from the RetrieveRequestStatusRequest. */ @@ -830,6 +1186,32 @@ export namespace datamanager_v1 { */ requestStatusPerDestination?: Schema$RequestStatusPerDestination[]; } + /** + * Response from the SearchPartnerLinksRequest. + */ + export interface Schema$SearchPartnerLinksResponse { + /** + * 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 partner links for the given account. + */ + partnerLinks?: Schema$PartnerLink[]; + } + /** + * Estimated number of members in this user list in different target networks. + */ + export interface Schema$SizeInfo { + /** + * Output only. Estimated number of members in this user list, on the Google Display Network. + */ + displayNetworkMembersCount?: string | null; + /** + * Output only. Estimated number of members in this user list in the google.com domain. These are the members available for targeting in Search campaigns. + */ + searchNetworkMembersCount?: 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). */ @@ -847,6 +1229,19 @@ export namespace datamanager_v1 { */ message?: string | null; } + /** + * Eligibility information for different target networks. + */ + export interface Schema$TargetNetworkInfo { + /** + * Output only. Indicates this user list is eligible for Google Display Network. + */ + eligibleForDisplay?: boolean | null; + /** + * Optional. Indicates if this user list is eligible for Google Search Network. + */ + eligibleForSearch?: boolean | null; + } /** * The terms of service that the user has accepted/rejected. */ @@ -865,6 +1260,15 @@ export namespace datamanager_v1 { */ userIdentifiers?: Schema$UserIdentifier[]; } + /** + * User id data holding the user id. + */ + export interface Schema$UserIdData { + /** + * Required. A unique identifier for a user, as defined by the advertiser. + */ + userId?: string | null; + } /** * A single identifier for the user. */ @@ -883,58 +1287,3418 @@ export namespace datamanager_v1 { phoneNumber?: string | null; } /** - * Advertiser-assessed information about the user at the time that the event happened. See https://support.google.com/google-ads/answer/14007601 for more details. + * Additional information when `USER_ID` is one of the `upload_key_types`. */ - export interface Schema$UserProperties { - /** - * Optional. A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event. - */ - additionalUserProperties?: Schema$UserProperty[]; - /** - * Optional. Type of the customer associated with the event. - */ - customerType?: string | null; + export interface Schema$UserIdInfo { /** - * Optional. The advertiser-assessed value of the customer. + * Optional. Immutable. Source of the upload data. */ - customerValueBucket?: string | null; + dataSourceType?: string | null; } /** - * A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event. + * A user list resource. */ - export interface Schema$UserProperty { + export interface Schema$UserList { /** - * Required. The name of the user property to use. + * Output only. The reason this account has been granted access to the list. */ - propertyName?: string | null; + accessReason?: string | null; /** - * Required. The string representation of the value of the user property to use. + * Optional. Indicates if this share is still enabled. When a user list is shared with the account this field is set to `ENABLED`. Later the user list owner can decide to revoke the share and make it `DISABLED`. */ - value?: string | null; - } - /** - * The warning count for a given warning reason. - */ - export interface Schema$WarningCount { + accountAccessStatus?: string | null; /** - * The warning reason. + * Output only. The reason why this user list membership status is closed. */ - reason?: string | null; + closingReason?: string | null; /** - * The count of records that have a warning. + * Optional. A description of the user list. */ - recordCount?: string | null; - } - /** - * Warning counts for each type of warning. - */ - export interface Schema$WarningInfo { + description?: string | null; /** - * A list of warnings and counts per warning reason. + * Required. The display name of the user list. + */ + displayName?: string | null; + /** + * Output only. The unique ID of the user list. + */ + id?: string | null; + /** + * Optional. Represents a user list that is populated by user ingested data. + */ + ingestedUserListInfo?: Schema$IngestedUserListInfo; + /** + * Optional. An ID from external system. It is used by user list sellers to correlate IDs on their systems. + */ + integrationCode?: string | null; + /** + * Optional. The duration a user remains in the user list. Valid durations are exact multiples of 24 hours (86400 seconds). Providing a value that is not an exact multiple of 24 hours will result in an INVALID_ARGUMENT error. + */ + membershipDuration?: string | null; + /** + * Optional. Membership status of this user list. + */ + membershipStatus?: string | null; + /** + * Identifier. The resource name of the user list. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + */ + name?: string | null; + /** + * Output only. An option that indicates if a user may edit a list. + */ + readOnly?: boolean | null; + /** + * Output only. Estimated number of members in this user list in different target networks. + */ + sizeInfo?: Schema$SizeInfo; + /** + * Optional. Eligibility information for different target networks. + */ + targetNetworkInfo?: Schema$TargetNetworkInfo; + } + /** + * A user list direct license. This feature is only available to data partners. + */ + export interface Schema$UserListDirectLicense { + /** + * Output only. Name of client customer which the user list is being licensed to. This field is read-only. + */ + clientAccountDisplayName?: string | null; + /** + * Immutable. ID of client customer which the user list is being licensed to. + */ + clientAccountId?: string | null; + /** + * Immutable. Account type of client customer which the user list is being licensed to. + */ + clientAccountType?: string | null; + /** + * Output only. Pricing history of this user list license. This field is read-only. + */ + historicalPricings?: Schema$UserListLicensePricing[]; + /** + * Output only. Metrics related to this license This field is read-only and only populated if the start and end dates are set in the ListUserListDirectLicenses call + */ + metrics?: Schema$UserListLicenseMetrics; + /** + * Identifier. The resource name of the user list direct license. + */ + name?: string | null; + /** + * Optional. UserListDirectLicense pricing. + */ + pricing?: Schema$UserListLicensePricing; + /** + * Optional. Status of UserListDirectLicense - ENABLED or DISABLED. + */ + status?: string | null; + /** + * Output only. Name of the user list being licensed. This field is read-only. + */ + userListDisplayName?: string | null; + /** + * Immutable. ID of the user list being licensed. + */ + userListId?: string | null; + } + /** + * A user list global license. This feature is only available to data partners. + */ + export interface Schema$UserListGlobalLicense { + /** + * Output only. Pricing history of this user list license. This field is read-only. + */ + historicalPricings?: Schema$UserListLicensePricing[]; + /** + * Immutable. Product type of client customer which the user list is being licensed to. + */ + licenseType?: string | null; + /** + * Output only. Metrics related to this license This field is read-only and only populated if the start and end dates are set in the ListUserListGlobalLicenses call + */ + metrics?: Schema$UserListLicenseMetrics; + /** + * Identifier. The resource name of the user list global license. + */ + name?: string | null; + /** + * Optional. UserListGlobalLicense pricing. + */ + pricing?: Schema$UserListLicensePricing; + /** + * Optional. Status of UserListGlobalLicense - ENABLED or DISABLED. + */ + status?: string | null; + /** + * Output only. Name of the user list being licensed. This field is read-only. + */ + userListDisplayName?: string | null; + /** + * Immutable. ID of the user list being licensed. + */ + userListId?: string | null; + } + /** + * Information about a customer of a user list global license. This will automatically be created by the system when a customer purchases a global license. + */ + export interface Schema$UserListGlobalLicenseCustomerInfo { + /** + * Output only. Name of client customer which the user list is being licensed to. + */ + clientAccountDisplayName?: string | null; + /** + * Output only. ID of client customer which the user list is being licensed to. + */ + clientAccountId?: string | null; + /** + * Output only. Product type of client customer which the user list is being licensed to. + */ + clientAccountType?: string | null; + /** + * Output only. Pricing history of this user list license. + */ + historicalPricings?: Schema$UserListLicensePricing[]; + /** + * Output only. Product type of client customer which the user list is being licensed to. + */ + licenseType?: string | null; + /** + * Output only. Metrics related to this license This field is only populated if the start and end dates are set in the ListUserListGlobalLicenseCustomerInfos call. + */ + metrics?: Schema$UserListLicenseMetrics; + /** + * Identifier. The resource name of the user list global license customer. + */ + name?: string | null; + /** + * Output only. UserListDirectLicense pricing. + */ + pricing?: Schema$UserListLicensePricing; + /** + * Output only. Status of UserListDirectLicense - ENABLED or DISABLED. + */ + status?: string | null; + /** + * Output only. Name of the user list being licensed. + */ + userListDisplayName?: string | null; + /** + * Output only. ID of the user list being licensed. + */ + userListId?: string | null; + } + /** + * Metrics related to a user list license. + */ + export interface Schema$UserListLicenseMetrics { + /** + * Output only. The number of clicks for the user list license. + */ + clickCount?: string | null; + /** + * Output only. The end date (inclusive) of the metrics in the format YYYYMMDD. For example, 20260102 represents January 2, 2026. If `start_date` is used in the filter, `end_date` is also required. If neither `start_date` nor `end_date` are included in the filter, the UserListLicenseMetrics fields will not be populated in the response. + */ + endDate?: string | null; + /** + * Output only. The number of impressions for the user list license. + */ + impressionCount?: string | null; + /** + * Output only. The revenue for the user list license in USD micros. + */ + revenueUsdMicros?: string | null; + /** + * Output only. The start date (inclusive) of the metrics in the format YYYYMMDD. For example, 20260102 represents January 2, 2026. If `end_date` is used in the filter, `start_date` is also required. If neither `start_date` nor `end_date` are included in the filter, the UserListLicenseMetrics fields will not be populated in the response. + */ + startDate?: string | null; + } + /** + * A user list license pricing. + */ + export interface Schema$UserListLicensePricing { + /** + * Output only. The buyer approval state of this pricing. This field is read-only. + */ + buyerApprovalState?: string | null; + /** + * Optional. The cost associated with the model, in micro units (10^-6), in the currency specified by the currency_code field. For example, 2000000 means $2 if `currency_code` is `USD`. + */ + costMicros?: string | null; + /** + * Immutable. The cost type of this pricing. Can be set only in the `create` operation. Can't be updated for an existing license. + */ + costType?: string | null; + /** + * Optional. The currency in which cost and max_cost is specified. Must be a three-letter currency code defined in ISO 4217. + */ + currencyCode?: string | null; + /** + * Optional. End time of the pricing. + */ + endTime?: string | null; + /** + * Optional. The maximum CPM a commerce audience can be charged when the MEDIA_SHARE cost type is used. The value is in micro units (10^-6) and in the currency specified by the currency_code field. For example, 2000000 means $2 if `currency_code` is `USD`. This is only relevant when cost_type is MEDIA_SHARE. When cost_type is not MEDIA_SHARE, and this field is set, a MAX_COST_NOT_ALLOWED error will be returned. If not set or set to`0`, there is no cap. + */ + maxCostMicros?: string | null; + /** + * Output only. Whether this pricing is active. + */ + pricingActive?: boolean | null; + /** + * Output only. The ID of this pricing. + */ + pricingId?: string | null; + /** + * Output only. Start time of the pricing. + */ + startTime?: string | null; + } + /** + * Advertiser-assessed information about the user at the time that the event happened. See https://support.google.com/google-ads/answer/14007601 for more details. + */ + export interface Schema$UserProperties { + /** + * Optional. A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event. + */ + additionalUserProperties?: Schema$UserProperty[]; + /** + * Optional. Type of the customer associated with the event. + */ + customerType?: string | null; + /** + * Optional. The advertiser-assessed value of the customer. + */ + customerValueBucket?: string | null; + } + /** + * A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event. + */ + export interface Schema$UserProperty { + /** + * Required. The name of the user property to use. + */ + propertyName?: string | null; + /** + * Required. The string representation of the value of the user property to use. + */ + value?: string | null; + } + /** + * The warning count for a given warning reason. + */ + export interface Schema$WarningCount { + /** + * The warning reason. + */ + reason?: string | null; + /** + * The count of records that have a warning. + */ + recordCount?: string | null; + } + /** + * Warning counts for each type of warning. + */ + export interface Schema$WarningInfo { + /** + * A list of warnings and counts per warning reason. */ warningCounts?: Schema$WarningCount[]; } + export class Resource$Accounttypes { + context: APIRequestContext; + accounts: Resource$Accounttypes$Accounts; + constructor(context: APIRequestContext) { + this.context = context; + this.accounts = new Resource$Accounttypes$Accounts(this.context); + } + } + + export class Resource$Accounttypes$Accounts { + context: APIRequestContext; + insights: Resource$Accounttypes$Accounts$Insights; + partnerLinks: Resource$Accounttypes$Accounts$Partnerlinks; + userListDirectLicenses: Resource$Accounttypes$Accounts$Userlistdirectlicenses; + userListGlobalLicenses: Resource$Accounttypes$Accounts$Userlistgloballicenses; + userLists: Resource$Accounttypes$Accounts$Userlists; + constructor(context: APIRequestContext) { + this.context = context; + this.insights = new Resource$Accounttypes$Accounts$Insights(this.context); + this.partnerLinks = new Resource$Accounttypes$Accounts$Partnerlinks( + this.context + ); + this.userListDirectLicenses = + new Resource$Accounttypes$Accounts$Userlistdirectlicenses(this.context); + this.userListGlobalLicenses = + new Resource$Accounttypes$Accounts$Userlistgloballicenses(this.context); + this.userLists = new Resource$Accounttypes$Accounts$Userlists( + this.context + ); + } + } + + export class Resource$Accounttypes$Accounts$Insights { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves marketing data insights for a given user list. This feature is only available to data partners. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.insights.retrieve({ + * // Required. The parent account that owns the user list. Format: `accountTypes/{account_type\}/accounts/{account\}` + * parent: 'accountTypes/my-accountType/accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "baseline": {}, + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "marketingDataInsights": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieve( + params: Params$Resource$Accounttypes$Accounts$Insights$Retrieve, + options: StreamMethodOptions + ): Promise>; + retrieve( + params?: Params$Resource$Accounttypes$Accounts$Insights$Retrieve, + options?: MethodOptions + ): Promise>; + retrieve( + params: Params$Resource$Accounttypes$Accounts$Insights$Retrieve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieve( + params: Params$Resource$Accounttypes$Accounts$Insights$Retrieve, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieve( + params: Params$Resource$Accounttypes$Accounts$Insights$Retrieve, + callback: BodyResponseCallback + ): void; + retrieve( + callback: BodyResponseCallback + ): void; + retrieve( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Insights$Retrieve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Insights$Retrieve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Insights$Retrieve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/insights:retrieve').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); + } + } + } + + export interface Params$Resource$Accounttypes$Accounts$Insights$Retrieve extends StandardParameters { + /** + * Required. The parent account that owns the user list. Format: `accountTypes/{account_type\}/accounts/{account\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveInsightsRequest; + } + + export class Resource$Accounttypes$Accounts$Partnerlinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a partner link for the given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.partnerLinks.create({ + * // Required. The parent, which owns this collection of partner links. Format: accountTypes/{account_type\}/accounts/{account\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "owningAccount": {}, + * // "partnerAccount": {}, + * // "partnerLinkId": "my_partnerLinkId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "owningAccount": {}, + * // "partnerAccount": {}, + * // "partnerLinkId": "my_partnerLinkId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Partnerlinks$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounttypes$Accounts$Partnerlinks$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Partnerlinks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Partnerlinks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Partnerlinks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/partnerLinks').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 partner link for the given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.partnerLinks.delete({ + * // Required. The resource name of the partner link to delete. Format: accountTypes/{account_type\}/accounts/{account\}/partnerLinks/{partner_link\} + * name: 'accountTypes/my-accountType/accounts/my-account/partnerLinks/my-partnerLink', + * }); + * 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$Accounttypes$Accounts$Partnerlinks$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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); + } + } + + /** + * Searches for all partner links to and from a given account. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.partnerLinks.search({ + * // Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" OR partner_account.account_id = 987654321` + * filter: 'placeholder-value', + * // The maximum number of partner links to return. The service may return fewer than this value. If unspecified, at most 10 partner links will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // A page token, received from a previous `SearchPartnerLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchPartnerLinks` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. Account to search for partner links. If no `filter` is specified, all partner links where this account is either the `owning_account` or `partner_account` are returned. Format: `accountTypes/{account_type\}/accounts/{account\}` + * parent: 'accountTypes/my-accountType/accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "partnerLinks": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Partnerlinks$Search, + options: StreamMethodOptions + ): Promise>; + search( + params?: Params$Resource$Accounttypes$Accounts$Partnerlinks$Search, + options?: MethodOptions + ): Promise>; + search( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Search, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Accounttypes$Accounts$Partnerlinks$Search, + callback: BodyResponseCallback + ): void; + search( + callback: BodyResponseCallback + ): void; + search( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Partnerlinks$Search + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Partnerlinks$Search; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Partnerlinks$Search; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/partnerLinks:search').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$Accounttypes$Accounts$Partnerlinks$Create extends StandardParameters { + /** + * Required. The parent, which owns this collection of partner links. Format: accountTypes/{account_type\}/accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PartnerLink; + } + export interface Params$Resource$Accounttypes$Accounts$Partnerlinks$Delete extends StandardParameters { + /** + * Required. The resource name of the partner link to delete. Format: accountTypes/{account_type\}/accounts/{account\}/partnerLinks/{partner_link\} + */ + name?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Partnerlinks$Search extends StandardParameters { + /** + * Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" OR partner_account.account_id = 987654321` + */ + filter?: string; + /** + * The maximum number of partner links to return. The service may return fewer than this value. If unspecified, at most 10 partner links will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * A page token, received from a previous `SearchPartnerLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchPartnerLinks` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. Account to search for partner links. If no `filter` is specified, all partner links where this account is either the `owning_account` or `partner_account` are returned. Format: `accountTypes/{account_type\}/accounts/{account\}` + */ + parent?: string; + } + + export class Resource$Accounttypes$Accounts$Userlistdirectlicenses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a user list direct license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListDirectLicenses.create({ + * // Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientAccountDisplayName": "my_clientAccountDisplayName", + * // "clientAccountId": "my_clientAccountId", + * // "clientAccountType": "my_clientAccountType", + * // "historicalPricings": [], + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientAccountDisplayName": "my_clientAccountDisplayName", + * // "clientAccountId": "my_clientAccountId", + * // "clientAccountType": "my_clientAccountType", + * // "historicalPricings": [], + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistdirectlicenses$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userListDirectLicenses').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); + } + } + + /** + * Retrieves a user list direct license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListDirectLicenses.get({ + * // Required. The resource name of the user list direct license. + * name: 'accountTypes/my-accountType/accounts/my-account/userListDirectLicenses/my-userListDirectLicense', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientAccountDisplayName": "my_clientAccountDisplayName", + * // "clientAccountId": "my_clientAccountId", + * // "clientAccountType": "my_clientAccountType", + * // "historicalPricings": [], + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistdirectlicenses$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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 all user list direct licenses owned by the parent account. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListDirectLicenses.list({ + * // Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + * filter: 'placeholder-value', + * // Optional. The maximum number of licenses to return per page. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "userListDirectLicenses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistdirectlicenses$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userListDirectLicenses').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 + ); + } + } + + /** + * Updates a user list direct license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListDirectLicenses.patch({ + * // Identifier. The resource name of the user list direct license. + * name: 'accountTypes/my-accountType/accounts/my-account/userListDirectLicenses/my-userListDirectLicense', + * // Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientAccountDisplayName": "my_clientAccountDisplayName", + * // "clientAccountId": "my_clientAccountId", + * // "clientAccountType": "my_clientAccountType", + * // "historicalPricings": [], + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientAccountDisplayName": "my_clientAccountDisplayName", + * // "clientAccountId": "my_clientAccountId", + * // "clientAccountType": "my_clientAccountType", + * // "historicalPricings": [], + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistdirectlicenses$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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$Accounttypes$Accounts$Userlistdirectlicenses$Create extends StandardParameters { + /** + * Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UserListDirectLicense; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Get extends StandardParameters { + /** + * Required. The resource name of the user list direct license. + */ + name?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$List extends StandardParameters { + /** + * Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + */ + filter?: string; + /** + * Optional. The maximum number of licenses to return per page. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + */ + parent?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistdirectlicenses$Patch extends StandardParameters { + /** + * Identifier. The resource name of the user list direct license. + */ + name?: string; + /** + * Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UserListDirectLicense; + } + + export class Resource$Accounttypes$Accounts$Userlistgloballicenses { + context: APIRequestContext; + userListGlobalLicenseCustomerInfos: Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos; + constructor(context: APIRequestContext) { + this.context = context; + this.userListGlobalLicenseCustomerInfos = + new Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos( + this.context + ); + } + + /** + * Creates a user list global license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListGlobalLicenses.create({ + * // Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "historicalPricings": [], + * // "licenseType": "my_licenseType", + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "historicalPricings": [], + * // "licenseType": "my_licenseType", + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistgloballicenses$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userListGlobalLicenses').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); + } + } + + /** + * Retrieves a user list global license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListGlobalLicenses.get({ + * // Required. The resource name of the user list global license. + * name: 'accountTypes/my-accountType/accounts/my-account/userListGlobalLicenses/my-userListGlobalLicense', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "historicalPricings": [], + * // "licenseType": "my_licenseType", + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistgloballicenses$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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 all user list global licenses owned by the parent account. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListGlobalLicenses.list({ + * // Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + * filter: 'placeholder-value', + * // Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListGlobalLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "userListGlobalLicenses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistgloballicenses$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userListGlobalLicenses').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 + ); + } + } + + /** + * Updates a user list global license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListGlobalLicenses.patch({ + * // Identifier. The resource name of the user list global license. + * name: 'accountTypes/my-accountType/accounts/my-account/userListGlobalLicenses/my-userListGlobalLicense', + * // Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "historicalPricings": [], + * // "licenseType": "my_licenseType", + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "historicalPricings": [], + * // "licenseType": "my_licenseType", + * // "metrics": {}, + * // "name": "my_name", + * // "pricing": {}, + * // "status": "my_status", + * // "userListDisplayName": "my_userListDisplayName", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistgloballicenses$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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$Accounttypes$Accounts$Userlistgloballicenses$Create extends StandardParameters { + /** + * Required. The account that owns the user list being licensed. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UserListGlobalLicense; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Get extends StandardParameters { + /** + * Required. The resource name of the user list global license. + */ + name?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$List extends StandardParameters { + /** + * Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + */ + filter?: string; + /** + * Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListGlobalLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account whose licenses are being queried. Should be in the format accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\} + */ + parent?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Patch extends StandardParameters { + /** + * Identifier. The resource name of the user list global license. + */ + name?: string; + /** + * Optional. The list of fields to update. The special character `*` is not supported and an `INVALID_UPDATE_MASK` error will be thrown if used. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UserListGlobalLicense; + } + + export class Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists all customer info for a user list global license. This feature is only available to data partners. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await datamanager.accountTypes.accounts.userListGlobalLicenses.userListGlobalLicenseCustomerInfos.list( + * { + * // Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + * filter: 'placeholder-value', + * // Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The global license whose customer info are being queried. Should be in the format `accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\}/userListGlobalLicenses/{USER_LIST_GLOBAL_LICENSE_ID\}`. To list all global license customer info under an account, replace the user list global license id with a '-' (for example, `accountTypes/DATA_PARTNER/accounts/123/userListGlobalLicenses/-`) + * parent: + * 'accountTypes/my-accountType/accounts/my-account/userListGlobalLicenses/my-userListGlobalLicense', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "userListGlobalLicenseCustomerInfos": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+parent}/userListGlobalLicenseCustomerInfos' + ).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$Accounttypes$Accounts$Userlistgloballicenses$Userlistgloballicensecustomerinfos$List extends StandardParameters { + /** + * Optional. Filters to apply to the list request. All fields need to be on the left hand side of each condition (for example: user_list_id = 123). **Supported Operations:** - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` **Unsupported Fields:** - `name` (use get method instead) - `historical_pricings` and all its subfields - `pricing.start_time` - `pricing.end_time` + */ + filter?: string; + /** + * Optional. The maximum number of licenses to return. The service may return fewer than this value. If unspecified, at most 50 licenses 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 `ListUserListDirectLicense` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserListDirectLicense` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The global license whose customer info are being queried. Should be in the format `accountTypes/{ACCOUNT_TYPE\}/accounts/{ACCOUNT_ID\}/userListGlobalLicenses/{USER_LIST_GLOBAL_LICENSE_ID\}`. To list all global license customer info under an account, replace the user list global license id with a '-' (for example, `accountTypes/DATA_PARTNER/accounts/123/userListGlobalLicenses/-`) + */ + parent?: string; + } + + export class Resource$Accounttypes$Accounts$Userlists { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.userLists.create({ + * // Required. The parent account where this user list will be created. Format: accountTypes/{account_type\}/accounts/{account\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * // Optional. If true, the request is validated but not executed. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessReason": "my_accessReason", + * // "accountAccessStatus": "my_accountAccessStatus", + * // "closingReason": "my_closingReason", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "id": "my_id", + * // "ingestedUserListInfo": {}, + * // "integrationCode": "my_integrationCode", + * // "membershipDuration": "my_membershipDuration", + * // "membershipStatus": "my_membershipStatus", + * // "name": "my_name", + * // "readOnly": false, + * // "sizeInfo": {}, + * // "targetNetworkInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessReason": "my_accessReason", + * // "accountAccessStatus": "my_accountAccessStatus", + * // "closingReason": "my_closingReason", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "id": "my_id", + * // "ingestedUserListInfo": {}, + * // "integrationCode": "my_integrationCode", + * // "membershipDuration": "my_membershipDuration", + * // "membershipStatus": "my_membershipStatus", + * // "name": "my_name", + * // "readOnly": false, + * // "sizeInfo": {}, + * // "targetNetworkInfo": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlists$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Accounttypes$Accounts$Userlists$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Accounttypes$Accounts$Userlists$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlists$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Accounttypes$Accounts$Userlists$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlists$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlists$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Userlists$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userLists').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 UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.userLists.delete({ + * // Required. The name of the user list to delete. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + * name: 'accountTypes/my-accountType/accounts/my-account/userLists/my-userList', + * // Optional. If true, the request is validated but not executed. + * 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$Accounttypes$Accounts$Userlists$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Accounttypes$Accounts$Userlists$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Accounttypes$Accounts$Userlists$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounttypes$Accounts$Userlists$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounttypes$Accounts$Userlists$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlists$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlists$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Userlists$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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 UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.userLists.get({ + * // Required. The resource name of the UserList to retrieve. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + * name: 'accountTypes/my-accountType/accounts/my-account/userLists/my-userList', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessReason": "my_accessReason", + * // "accountAccessStatus": "my_accountAccessStatus", + * // "closingReason": "my_closingReason", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "id": "my_id", + * // "ingestedUserListInfo": {}, + * // "integrationCode": "my_integrationCode", + * // "membershipDuration": "my_membershipDuration", + * // "membershipStatus": "my_membershipStatus", + * // "name": "my_name", + * // "readOnly": false, + * // "sizeInfo": {}, + * // "targetNetworkInfo": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlists$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Accounttypes$Accounts$Userlists$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Accounttypes$Accounts$Userlists$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlists$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounttypes$Accounts$Userlists$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlists$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlists$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Userlists$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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 UserLists. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.userLists.list({ + * // Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `display_name = "list 1"`). Supported operations: - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` - `:` (has) Supported fields: - `id` - `display_name` - `description` - `membership_status` - `integration_code` - `access_reason` - `ingested_user_list_info.upload_key_types` + * filter: 'placeholder-value', + * // Optional. The maximum number of user lists to return. The service may return fewer than this value. If unspecified, at most 50 user lists 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 `ListUserLists` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLists` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent account which owns this collection of user lists. Format: accountTypes/{account_type\}/accounts/{account\} + * parent: 'accountTypes/my-accountType/accounts/my-account', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "userLists": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlists$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Accounttypes$Accounts$Userlists$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Accounttypes$Accounts$Userlists$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlists$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounttypes$Accounts$Userlists$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlists$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlists$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Userlists$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userLists').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); + } + } + + /** + * Updates a UserList. Authorization Headers: This method supports the following optional headers to define how the API authorizes access for the request: * `login-account`: (Optional) The resource name of the account where the Google Account of the credentials is a user. If not set, defaults to the account of the request. Format: `accountTypes/{loginAccountType\}/accounts/{loginAccountId\}` * `linked-account`: (Optional) The resource name of the account with an established product link to the `login-account`. Format: `accountTypes/{linkedAccountType\}/accounts/{linkedAccountId\}` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/datamanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const datamanager = google.datamanager('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/datamanager'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await datamanager.accountTypes.accounts.userLists.patch({ + * // Identifier. The resource name of the user list. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + * name: 'accountTypes/my-accountType/accounts/my-account/userLists/my-userList', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * // Optional. If true, the request is validated but not executed. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessReason": "my_accessReason", + * // "accountAccessStatus": "my_accountAccessStatus", + * // "closingReason": "my_closingReason", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "id": "my_id", + * // "ingestedUserListInfo": {}, + * // "integrationCode": "my_integrationCode", + * // "membershipDuration": "my_membershipDuration", + * // "membershipStatus": "my_membershipStatus", + * // "name": "my_name", + * // "readOnly": false, + * // "sizeInfo": {}, + * // "targetNetworkInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessReason": "my_accessReason", + * // "accountAccessStatus": "my_accountAccessStatus", + * // "closingReason": "my_closingReason", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "id": "my_id", + * // "ingestedUserListInfo": {}, + * // "integrationCode": "my_integrationCode", + * // "membershipDuration": "my_membershipDuration", + * // "membershipStatus": "my_membershipStatus", + * // "name": "my_name", + * // "readOnly": false, + * // "sizeInfo": {}, + * // "targetNetworkInfo": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Accounttypes$Accounts$Userlists$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Accounttypes$Accounts$Userlists$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlists$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlists$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounttypes$Accounts$Userlists$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounttypes$Accounts$Userlists$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounttypes$Accounts$Userlists$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounttypes$Accounts$Userlists$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datamanager.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$Accounttypes$Accounts$Userlists$Create extends StandardParameters { + /** + * Required. The parent account where this user list will be created. Format: accountTypes/{account_type\}/accounts/{account\} + */ + parent?: string; + /** + * Optional. If true, the request is validated but not executed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$UserList; + } + export interface Params$Resource$Accounttypes$Accounts$Userlists$Delete extends StandardParameters { + /** + * Required. The name of the user list to delete. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + */ + name?: string; + /** + * Optional. If true, the request is validated but not executed. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Accounttypes$Accounts$Userlists$Get extends StandardParameters { + /** + * Required. The resource name of the UserList to retrieve. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + */ + name?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlists$List extends StandardParameters { + /** + * Optional. A [filter string](//google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `display_name = "list 1"`). Supported operations: - `AND` - `=` - `!=` - `\>` - `\>=` - `<` - `<=` - `:` (has) Supported fields: - `id` - `display_name` - `description` - `membership_status` - `integration_code` - `access_reason` - `ingested_user_list_info.upload_key_types` + */ + filter?: string; + /** + * Optional. The maximum number of user lists to return. The service may return fewer than this value. If unspecified, at most 50 user lists 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 `ListUserLists` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLists` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent account which owns this collection of user lists. Format: accountTypes/{account_type\}/accounts/{account\} + */ + parent?: string; + } + export interface Params$Resource$Accounttypes$Accounts$Userlists$Patch extends StandardParameters { + /** + * Identifier. The resource name of the user list. Format: accountTypes/{account_type\}/accounts/{account\}/userLists/{user_list\} + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + /** + * Optional. If true, the request is validated but not executed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$UserList; + } + export class Resource$Audiencemembers { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/dataplex/v1.ts b/src/apis/dataplex/v1.ts index e0c75aa935f..baf915ff01f 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -1705,12 +1705,16 @@ export namespace dataplex_v1 { * Optional. The unnested column which this rule is evaluated against. */ column?: string | null; + /** + * Optional. Specifies the debug queries for this rule. Currently, only one query is supported, but this may be expanded in the future. + */ + debugQueries?: Schema$GoogleCloudDataplexV1DataQualityRuleDebugQuery[]; /** * Optional. Description of the rule. The maximum length is 1,024 characters. */ description?: string | null; /** - * Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters. + * Optional. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters. */ dimension?: string | null; /** @@ -1766,6 +1770,19 @@ export namespace dataplex_v1 { */ uniquenessExpectation?: Schema$GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation; } + /** + * Specifies a SQL statement that is evaluated to return up to 10 scalar values that are used to debug rules. If the rule fails, the values can help diagnose the cause of the failure.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter ${data()\} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).You can also name results with an explicit alias using [AS] alias. For more information, see BigQuery explicit aliases (https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#explicit_alias_syntax).Example: SELECT MIN(col1) AS min_col1, MAX(col1) AS max_col1 FROM ${data()\} + */ + export interface Schema$GoogleCloudDataplexV1DataQualityRuleDebugQuery { + /** + * Optional. Specifies the description of the debug query. The maximum length is 1,024 characters. + */ + description?: string | null; + /** + * Required. Specifies the SQL statement to be executed. + */ + sqlStatement?: string | null; + } /** * Evaluates whether each column value is null. */ @@ -1808,6 +1825,10 @@ export namespace dataplex_v1 { * Output only. The number of rows returned by the SQL statement in a SQL assertion rule.This field is only valid for SQL assertion rules. */ assertionRowCount?: string | null; + /** + * Output only. Contains the results of all debug queries for this rule. The number of result sets will correspond to the number of debug_queries. + */ + debugQueriesResultSets?: Schema$GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet[]; /** * Output only. The number of rows a rule was evaluated against.This field is only valid for row-level type rules.Evaluated count can be configured to either include all rows (default) - with null rows automatically failing rule evaluation, or exclude null rows from the evaluated_count, by setting ignore_nulls = true.This field is not set for rule SqlAssertion. */ @@ -1837,6 +1858,32 @@ export namespace dataplex_v1 { */ rule?: Schema$GoogleCloudDataplexV1DataQualityRule; } + /** + * Contains a single result from the debug query. + */ + export interface Schema$GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult { + /** + * Specifies the name of the result. Available if provided with an explicit alias using [AS] alias. + */ + name?: string | null; + /** + * Indicates the data type of the result. For more information, see BigQuery data types (https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types). + */ + type?: string | null; + /** + * Represents the value of the result as a string. + */ + value?: string | null; + } + /** + * Contains all results from a debug query. + */ + export interface Schema$GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet { + /** + * Output only. Contains all results. Up to 10 results can be returned. + */ + results?: Schema$GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult[]; + } /** * Evaluates whether each row passes the specified condition.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a boolean value per row as the result.Example: col1 \>= 0 AND col2 < 10 */ @@ -3940,6 +3987,19 @@ export namespace dataplex_v1 { */ zones?: Schema$GoogleCloudDataplexV1Zone[]; } + /** + * Response message for LookupEntryLinks. + */ + export interface Schema$GoogleCloudDataplexV1LookupEntryLinksResponse { + /** + * List of entry links that reference the specified entry. + */ + entryLinks?: Schema$GoogleCloudDataplexV1EntryLink[]; + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + } /** * MetadataFeed contains information related to the metadata feed. */ @@ -7269,6 +7329,7 @@ export namespace dataplex_v1 { metadataFeeds: Resource$Projects$Locations$Metadatafeeds; metadataJobs: Resource$Projects$Locations$Metadatajobs; operations: Resource$Projects$Locations$Operations; + policyIntents: Resource$Projects$Locations$Policyintents; constructor(context: APIRequestContext) { this.context = context; this.aspectTypes = new Resource$Projects$Locations$Aspecttypes( @@ -7311,6 +7372,9 @@ export namespace dataplex_v1 { this.operations = new Resource$Projects$Locations$Operations( this.context ); + this.policyIntents = new Resource$Projects$Locations$Policyintents( + this.context + ); } /** @@ -7612,7 +7676,7 @@ export namespace dataplex_v1 { } /** - * Looks up an entry by name using the permission on the source system. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes). + * Looks up an entry by name using the permission on the source system. * @example * ```js * // Before running the sample: @@ -7767,6 +7831,164 @@ export namespace dataplex_v1 { } } + /** + * Looks up Entry Links referencing the specified Entry. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.lookupEntryLinks({ + * // Required. The resource name of the referred Entry. Format: projects/{project_id_or_number\}/locations/{location_id\}/entryGroups/{entry_group_id\}/entries/{entry_id\}. Entry Links which references this entry will be returned in the response. + * entry: 'placeholder-value', + * // Entry link types to filter the response by. If empty, all entry link types will be returned. At most 10 entry link types can be specified. + * entryLinkTypes: 'placeholder-value', + * // Mode of entry reference. + * entryMode: 'placeholder-value', + * // Required. The project to which the request should be attributed to Format: projects/{project_id_or_number\}/locations/{location_id\}. + * name: 'projects/my-project/locations/my-location', + * // Maximum number of EntryLinks to return. The service may return fewer than this value. If unspecified, at most 10 EntryLinks will be returned. The maximum value is 10; values above 10 will be coerced to 10. + * pageSize: 'placeholder-value', + * // Page token received from a previous LookupEntryLinks call. Provide this to retrieve the subsequent page. When paginating, all other parameters that are provided to the LookupEntryLinks request must match the call that provided the page token. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "entryLinks": [], + * // "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. + */ + lookupEntryLinks( + params: Params$Resource$Projects$Locations$Lookupentrylinks, + options: StreamMethodOptions + ): Promise>; + lookupEntryLinks( + params?: Params$Resource$Projects$Locations$Lookupentrylinks, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + lookupEntryLinks( + params: Params$Resource$Projects$Locations$Lookupentrylinks, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupEntryLinks( + params: Params$Resource$Projects$Locations$Lookupentrylinks, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupEntryLinks( + params: Params$Resource$Projects$Locations$Lookupentrylinks, + callback: BodyResponseCallback + ): void; + lookupEntryLinks( + callback: BodyResponseCallback + ): void; + lookupEntryLinks( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Lookupentrylinks + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Lookupentrylinks; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Lookupentrylinks; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:lookupEntryLinks').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 + ); + } + } + /** * Searches for Entries matching the given query and scope. * @example @@ -7980,6 +8202,32 @@ export namespace dataplex_v1 { */ view?: string; } + export interface Params$Resource$Projects$Locations$Lookupentrylinks extends StandardParameters { + /** + * Required. The resource name of the referred Entry. Format: projects/{project_id_or_number\}/locations/{location_id\}/entryGroups/{entry_group_id\}/entries/{entry_id\}. Entry Links which references this entry will be returned in the response. + */ + entry?: string; + /** + * Entry link types to filter the response by. If empty, all entry link types will be returned. At most 10 entry link types can be specified. + */ + entryLinkTypes?: string[]; + /** + * Mode of entry reference. + */ + entryMode?: string; + /** + * Required. The project to which the request should be attributed to Format: projects/{project_id_or_number\}/locations/{location_id\}. + */ + name?: string; + /** + * Maximum number of EntryLinks to return. The service may return fewer than this value. If unspecified, at most 10 EntryLinks will be returned. The maximum value is 10; values above 10 will be coerced to 10. + */ + pageSize?: number; + /** + * Page token received from a previous LookupEntryLinks call. Provide this to retrieve the subsequent page. When paginating, all other parameters that are provided to the LookupEntryLinks request must match the call that provided the page token. + */ + pageToken?: string; + } export interface Params$Resource$Projects$Locations$Searchentries extends StandardParameters { /** * Required. The project to which the request should be attributed in the following form: projects/{project\}/locations/global. @@ -20111,7 +20359,7 @@ export namespace dataplex_v1 { } /** - * Gets an Entry. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes). + * Gets an Entry. * @example * ```js * // Before running the sample: @@ -20263,7 +20511,7 @@ export namespace dataplex_v1 { } /** - * Lists Entries within an EntryGroup. Caution: The Vertex AI, Bigtable, Spanner, Pub/Sub, Dataform, and Dataproc Metastore metadata that is stored in Dataplex Universal Catalog is changing. For more information, see Changes to metadata stored in Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/metadata-changes). + * Lists Entries within an EntryGroup. * @example * ```js * // Before running the sample: @@ -42140,4 +42388,501 @@ export namespace dataplex_v1 { */ returnPartialSuccess?: boolean; } + + export class Resource$Projects$Locations$Policyintents { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.policyIntents.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/policyIntents/my-policyIntent', + * }); + * 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$Projects$Locations$Policyintents$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Policyintents$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Policyintents$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Policyintents$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Policyintents$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + 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.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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.policyIntents.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/policyIntents/my-policyIntent', + * + * // 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$Policyintents$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Policyintents$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Policyintents$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Policyintents$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Policyintents$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Policyintents$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.policyIntents.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/policyIntents/my-policyIntent', + * + * // 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$Policyintents$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Policyintents$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Policyintents$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Policyintents$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Policyintents$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Policyintents$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Policyintents$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Policyintents$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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$Policyintents$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$Policyintents$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$Policyintents$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; + } } diff --git a/src/apis/dataproc/v1.ts b/src/apis/dataproc/v1.ts index 61ce71646a6..7f54cb6c636 100644 --- a/src/apis/dataproc/v1.ts +++ b/src/apis/dataproc/v1.ts @@ -6325,7 +6325,7 @@ export namespace dataproc_v1 { * batchId: 'placeholder-value', * // Required. The parent resource where this batch will be created. * parent: 'projects/my-project/locations/my-location', - * // Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * // Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequests with the same request_id, the second request is ignored and the operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. * requestId: 'placeholder-value', * * // Request body metadata @@ -6910,7 +6910,7 @@ export namespace dataproc_v1 { */ parent?: string; /** - * Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. + * Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequests with the same request_id, the second request is ignored and the operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. */ requestId?: string; diff --git a/src/apis/datastream/v1.ts b/src/apis/datastream/v1.ts index 9a4b16495ad..a9b89a2486b 100644 --- a/src/apis/datastream/v1.ts +++ b/src/apis/datastream/v1.ts @@ -194,6 +194,15 @@ export namespace datastream_v1 { * Backfill strategy to disable automatic backfill for the Stream's objects. */ export interface Schema$BackfillNoneStrategy {} + /** + * Describes violations in a client request. This error type focuses on the syntactic aspects of the request. + */ + export interface Schema$BadRequest { + /** + * Describes all violations in a client request. + */ + fieldViolations?: Schema$FieldViolation[]; + } /** * Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default. */ @@ -435,6 +444,19 @@ export namespace datastream_v1 { */ location?: string | null; } + /** + * Describes additional debugging info. + */ + export interface Schema$DebugInfo { + /** + * Additional debugging information provided by the server. + */ + detail?: string | null; + /** + * The stack trace entries indicating where the error occurred. + */ + stackEntries?: string[] | null; + } /** * The configuration of the stream destination. */ @@ -584,6 +606,23 @@ export namespace datastream_v1 { */ reason?: string | null; } + /** + * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} + */ + export interface Schema$ErrorInfo { + /** + * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". + */ + domain?: string | null; + /** + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. + */ + metadata?: {[key: string]: string} | null; + /** + * The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Represents a filter for included data on a stream object. */ @@ -606,6 +645,27 @@ export namespace datastream_v1 { */ staticIps?: string[] | null; } + /** + * A message type used to describe a single bad request field. + */ + export interface Schema$FieldViolation { + /** + * A description of why the request element is bad. + */ + description?: string | null; + /** + * A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; \} optional string email = 1; repeated EmailType type = 2; \} string full_name = 1; repeated EmailAddress email_addresses = 2; \} In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message. + */ + field?: string | null; + /** + * Provides a localized error message for field-level errors that is safe to return to the API consumer. + */ + localizedMessage?: Schema$LocalizedMessage; + /** + * The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Forward SSH Tunnel connectivity. */ @@ -673,6 +733,15 @@ export namespace datastream_v1 { * Use GTID based replication. */ export interface Schema$Gtid {} + /** + * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. + */ + export interface Schema$Help { + /** + * URL(s) pointing to additional information on handling the current error. + */ + links?: Schema$Link[]; + } /** * A HostAddress represents a transport end point, which is the combination of an IP address or hostname and a port number. */ @@ -729,6 +798,19 @@ export namespace datastream_v1 { */ schemaFileFormat?: string | null; } + /** + * Describes a URL link. + */ + export interface Schema$Link { + /** + * Describes what the link offers. + */ + description?: string | null; + /** + * The URL of the link. + */ + url?: string | null; + } /** * Response message for listing connection profiles. */ @@ -840,6 +922,19 @@ export namespace datastream_v1 { */ unreachable?: string[] | null; } + /** + * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. + */ + export interface Schema$LocalizedMessage { + /** + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + */ + locale?: string | null; + /** + * The localized error message in the above locale. + */ + message?: string | null; + } /** * A resource that represents a Google Cloud location. */ @@ -1740,6 +1835,32 @@ export namespace datastream_v1 { */ table?: string | null; } + /** + * Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message. + */ + export interface Schema$PreconditionFailure { + /** + * Describes all precondition violations. + */ + violations?: Schema$PreconditionFailureViolation[]; + } + /** + * A message type used to describe a single precondition failure. + */ + export interface Schema$PreconditionFailureViolation { + /** + * A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: "Terms of service not accepted". + */ + description?: string | null; + /** + * The subject, relative to the type, that failed. For example, "google.com/cloud" relative to the "TOS" type would indicate which terms of service is being referenced. + */ + subject?: string | null; + /** + * The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, "TOS" for "Terms of Service violation". + */ + type?: string | null; + } /** * The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network. */ @@ -1807,6 +1928,95 @@ export namespace datastream_v1 { */ networkAttachment?: string | null; } + /** + * Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure. + */ + export interface Schema$QuotaFailure { + /** + * Describes all quota violations. + */ + violations?: Schema$QuotaFailureViolation[]; + } + /** + * A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded. + */ + export interface Schema$QuotaFailureViolation { + /** + * The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be "container.googleapis.com". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be "compute.googleapis.com". + */ + apiService?: string | null; + /** + * A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: "Service disabled" or "Daily Limit for read operations exceeded". + */ + description?: string | null; + /** + * The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field. + */ + futureQuotaValue?: string | null; + /** + * The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota "CPUs per region per VM family" enforces a limit on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions "region" and "vm_family". And if the violation occurred in region "us-central1" and for VM family "n1", the quota_dimensions would be, { "region": "us-central1", "vm_family": "n1", \} When a quota is enforced globally, the quota_dimensions would always be empty. + */ + quotaDimensions?: {[key: string]: string} | null; + /** + * The id of the violated quota. Also know as "limit name", this is the unique identifier of a quota in the context of an API service. For example, "CPUS-PER-VM-FAMILY-per-project-region". + */ + quotaId?: string | null; + /** + * The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, "compute.googleapis.com/cpus_per_vm_family", "storage.googleapis.com/internet_egress_bandwidth". + */ + quotaMetric?: string | null; + /** + * The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is "10", then the value of this field would reflect this quantity. + */ + quotaValue?: string | null; + /** + * The subject on which the quota check failed. For example, "clientip:" or "project:". + */ + subject?: string | null; + } + /** + * Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback. + */ + export interface Schema$RequestInfo { + /** + * An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs. + */ + requestId?: string | null; + /** + * Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging. + */ + servingData?: string | null; + } + /** + * Describes the resource that is being accessed. + */ + export interface Schema$ResourceInfo { + /** + * Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project. + */ + description?: string | null; + /** + * The owner of the resource (optional). For example, "user:" or "project:". + */ + owner?: string | null; + /** + * The name of the resource being accessed. For example, a shared calendar name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current error is google.rpc.Code.PERMISSION_DENIED. + */ + resourceName?: string | null; + /** + * A name for the type of resource being accessed, e.g. "sql table", "cloud storage bucket", "file", "Google calendar"; or the type URL of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". + */ + resourceType?: string | null; + } + /** + * Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached. + */ + export interface Schema$RetryInfo { + /** + * Clients should wait at least this long between retrying the same request. + */ + retryDelay?: string | null; + } /** * The route resource is the child of the private connection resource, used for defining a route for a private connection. */ @@ -2989,7 +3199,7 @@ export namespace datastream_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/datastream/v1alpha1.ts b/src/apis/datastream/v1alpha1.ts index 5d270d72dfd..82cf016eb91 100644 --- a/src/apis/datastream/v1alpha1.ts +++ b/src/apis/datastream/v1alpha1.ts @@ -170,6 +170,15 @@ export namespace datastream_v1alpha1 { * Backfill strategy to disable automatic backfill for the Stream's objects. */ export interface Schema$BackfillNoneStrategy {} + /** + * Describes violations in a client request. This error type focuses on the syntactic aspects of the request. + */ + export interface Schema$BadRequest { + /** + * Describes all violations in a client request. + */ + fieldViolations?: Schema$FieldViolation[]; + } /** * The request message for Operations.CancelOperation. */ @@ -224,6 +233,19 @@ export namespace datastream_v1alpha1 { */ updateTime?: string | null; } + /** + * Describes additional debugging info. + */ + export interface Schema$DebugInfo { + /** + * Additional debugging information provided by the server. + */ + detail?: string | null; + /** + * The stack trace entries indicating where the error occurred. + */ + stackEntries?: string[] | null; + } /** * The configuration of the stream destination. */ @@ -309,6 +331,23 @@ export namespace datastream_v1alpha1 { */ reason?: string | null; } + /** + * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} + */ + export interface Schema$ErrorInfo { + /** + * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". + */ + domain?: string | null; + /** + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. + */ + metadata?: {[key: string]: string} | null; + /** + * The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Request message for 'FetchErrors' request. */ @@ -335,6 +374,27 @@ export namespace datastream_v1alpha1 { */ staticIps?: string[] | null; } + /** + * A message type used to describe a single bad request field. + */ + export interface Schema$FieldViolation { + /** + * A description of why the request element is bad. + */ + description?: string | null; + /** + * A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; \} optional string email = 1; repeated EmailType type = 2; \} string full_name = 1; repeated EmailAddress email_addresses = 2; \} In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message. + */ + field?: string | null; + /** + * Provides a localized error message for field-level errors that is safe to return to the API consumer. + */ + localizedMessage?: Schema$LocalizedMessage; + /** + * The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Forward SSH Tunnel connectivity. */ @@ -402,6 +462,15 @@ export namespace datastream_v1alpha1 { */ rootPath?: string | null; } + /** + * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. + */ + export interface Schema$Help { + /** + * URL(s) pointing to additional information on handling the current error. + */ + links?: Schema$Link[]; + } /** * JSON file format configuration. */ @@ -415,6 +484,19 @@ export namespace datastream_v1alpha1 { */ schemaFileFormat?: string | null; } + /** + * Describes a URL link. + */ + export interface Schema$Link { + /** + * Describes what the link offers. + */ + description?: string | null; + /** + * The URL of the link. + */ + url?: string | null; + } export interface Schema$ListConnectionProfilesResponse { /** * List of connection profiles. @@ -517,6 +599,19 @@ export namespace datastream_v1alpha1 { */ unreachable?: string[] | null; } + /** + * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. + */ + export interface Schema$LocalizedMessage { + /** + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + */ + locale?: string | null; + /** + * The localized error message in the above locale. + */ + message?: string | null; + } /** * A resource that represents a Google Cloud location. */ @@ -891,6 +986,32 @@ export namespace datastream_v1alpha1 { */ tableName?: string | null; } + /** + * Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message. + */ + export interface Schema$PreconditionFailure { + /** + * Describes all precondition violations. + */ + violations?: Schema$PreconditionFailureViolation[]; + } + /** + * A message type used to describe a single precondition failure. + */ + export interface Schema$PreconditionFailureViolation { + /** + * A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: "Terms of service not accepted". + */ + description?: string | null; + /** + * The subject, relative to the type, that failed. For example, "google.com/cloud" relative to the "TOS" type would indicate which terms of service is being referenced. + */ + subject?: string | null; + /** + * The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, "TOS" for "Terms of Service violation". + */ + type?: string | null; + } /** * The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network. */ @@ -934,6 +1055,95 @@ export namespace datastream_v1alpha1 { export interface Schema$PrivateConnectivity { privateConnectionName?: string | null; } + /** + * Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure. + */ + export interface Schema$QuotaFailure { + /** + * Describes all quota violations. + */ + violations?: Schema$QuotaFailureViolation[]; + } + /** + * A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded. + */ + export interface Schema$QuotaFailureViolation { + /** + * The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be "container.googleapis.com". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be "compute.googleapis.com". + */ + apiService?: string | null; + /** + * A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: "Service disabled" or "Daily Limit for read operations exceeded". + */ + description?: string | null; + /** + * The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field. + */ + futureQuotaValue?: string | null; + /** + * The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota "CPUs per region per VM family" enforces a limit on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions "region" and "vm_family". And if the violation occurred in region "us-central1" and for VM family "n1", the quota_dimensions would be, { "region": "us-central1", "vm_family": "n1", \} When a quota is enforced globally, the quota_dimensions would always be empty. + */ + quotaDimensions?: {[key: string]: string} | null; + /** + * The id of the violated quota. Also know as "limit name", this is the unique identifier of a quota in the context of an API service. For example, "CPUS-PER-VM-FAMILY-per-project-region". + */ + quotaId?: string | null; + /** + * The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, "compute.googleapis.com/cpus_per_vm_family", "storage.googleapis.com/internet_egress_bandwidth". + */ + quotaMetric?: string | null; + /** + * The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is "10", then the value of this field would reflect this quantity. + */ + quotaValue?: string | null; + /** + * The subject on which the quota check failed. For example, "clientip:" or "project:". + */ + subject?: string | null; + } + /** + * Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback. + */ + export interface Schema$RequestInfo { + /** + * An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs. + */ + requestId?: string | null; + /** + * Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging. + */ + servingData?: string | null; + } + /** + * Describes the resource that is being accessed. + */ + export interface Schema$ResourceInfo { + /** + * Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project. + */ + description?: string | null; + /** + * The owner of the resource (optional). For example, "user:" or "project:". + */ + owner?: string | null; + /** + * The name of the resource being accessed. For example, a shared calendar name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current error is google.rpc.Code.PERMISSION_DENIED. + */ + resourceName?: string | null; + /** + * A name for the type of resource being accessed, e.g. "sql table", "cloud storage bucket", "file", "Google calendar"; or the type URL of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". + */ + resourceType?: string | null; + } + /** + * Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached. + */ + export interface Schema$RetryInfo { + /** + * Clients should wait at least this long between retrying the same request. + */ + retryDelay?: string | null; + } /** * The Route resource is the child of the PrivateConnection resource. It used to define a route for a PrivateConnection setup. */ diff --git a/src/apis/dfareporting/v4.ts b/src/apis/dfareporting/v4.ts index 15919dc88de..ab1652052dd 100644 --- a/src/apis/dfareporting/v4.ts +++ b/src/apis/dfareporting/v4.ts @@ -1408,7 +1408,7 @@ export namespace dfareporting_v4 { totalAmountMicros?: string | null; } /** - * *Beta:* This feature is currently in beta. Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788) + * Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788) */ export interface Schema$CartData { /** @@ -3412,7 +3412,7 @@ export namespace dfareporting_v4 { nextPageToken?: string | null; } /** - * Contains dynamic feed information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information. */ export interface Schema$DynamicFeed { /** @@ -3461,7 +3461,7 @@ export namespace dfareporting_v4 { studioAdvertiserId?: string | null; } /** - * Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See + * Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id. */ export interface Schema$DynamicFeedsInsertRequest { /** @@ -3474,7 +3474,7 @@ export namespace dfareporting_v4 { dynamicProfileId?: string | null; } /** - * Contains dynamic profile information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic profile information. */ export interface Schema$DynamicProfile { /** @@ -3544,7 +3544,7 @@ export namespace dfareporting_v4 { */ export interface Schema$DynamicProfileGenerateCodeResponse { /** - * Generated code for the dynamic profile. + * Generated code for the dynamic profile. The code will need to be unescaped. */ code?: string | null; } @@ -6936,7 +6936,7 @@ export namespace dfareporting_v4 { sortOrder?: string | null; } /** - * Contains studio creative information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative information. */ export interface Schema$StudioCreative { /** @@ -6944,7 +6944,7 @@ export namespace dfareporting_v4 { */ assetIds?: string[] | null; /** - * Backup image asset ID of this studio creative. + * Backup image asset ID of this studio creative. It is a required field on insertion. */ backupImageAssetId?: string | null; /** @@ -6993,7 +6993,7 @@ export namespace dfareporting_v4 { studioCampaignId?: string | null; } /** - * Contains studio creative asset information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative asset information. */ export interface Schema$StudioCreativeAsset { /** @@ -25039,7 +25039,7 @@ export namespace dfareporting_v4 { } /** - * Retransforms a dynamic feed. + * Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published). * @example * ```js * // Before running the sample: @@ -25186,7 +25186,7 @@ export namespace dfareporting_v4 { } /** - * Updates a new dynamic feed. + * Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored. * @example * ```js * // Before running the sample: @@ -25380,7 +25380,7 @@ export namespace dfareporting_v4 { } /** - * Generates code for a dynamic profile. + * Generates code for a dynamic profile, which will need unescaping. * @example * ```js * // Before running the sample: diff --git a/src/apis/dfareporting/v5.ts b/src/apis/dfareporting/v5.ts index 89eb51b2d0b..49b049ffb65 100644 --- a/src/apis/dfareporting/v5.ts +++ b/src/apis/dfareporting/v5.ts @@ -1365,7 +1365,7 @@ export namespace dfareporting_v5 { totalAmountMicros?: string | null; } /** - * *Beta:* This feature is currently in beta. Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788) + * Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788) */ export interface Schema$CartData { /** @@ -2018,6 +2018,10 @@ export namespace dfareporting_v5 { * Whether ad serving supports secure servers in this country. */ sslEnabled?: boolean | null; + /** + * Output only. The TV data providers supported in this country. + */ + tvDataProviders?: string[] | null; } /** * Contains properties of a Creative. @@ -3348,7 +3352,7 @@ export namespace dfareporting_v5 { nextPageToken?: string | null; } /** - * Contains dynamic feed information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information. */ export interface Schema$DynamicFeed { /** @@ -3397,7 +3401,7 @@ export namespace dfareporting_v5 { studioAdvertiserId?: string | null; } /** - * Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See + * Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id. */ export interface Schema$DynamicFeedsInsertRequest { /** @@ -3410,7 +3414,7 @@ export namespace dfareporting_v5 { dynamicProfileId?: string | null; } /** - * Contains dynamic profile information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic profile information. */ export interface Schema$DynamicProfile { /** @@ -3480,7 +3484,7 @@ export namespace dfareporting_v5 { */ export interface Schema$DynamicProfileGenerateCodeResponse { /** - * Generated code for the dynamic profile. + * Generated code for the dynamic profile. The code will need to be unescaped. */ code?: string | null; } @@ -6478,7 +6482,7 @@ export namespace dfareporting_v5 { sortOrder?: string | null; } /** - * Contains studio creative information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative information. */ export interface Schema$StudioCreative { /** @@ -6486,7 +6490,7 @@ export namespace dfareporting_v5 { */ assetIds?: string[] | null; /** - * Backup image asset ID of this studio creative. + * Backup image asset ID of this studio creative. It is a required field on insertion. */ backupImageAssetId?: string | null; /** @@ -6535,7 +6539,7 @@ export namespace dfareporting_v5 { studioCampaignId?: string | null; } /** - * Contains studio creative asset information. + * *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative asset information. */ export interface Schema$StudioCreativeAsset { /** @@ -18866,7 +18870,8 @@ export namespace dfareporting_v5 { * // "dartId": "my_dartId", * // "kind": "my_kind", * // "name": "my_name", - * // "sslEnabled": false + * // "sslEnabled": false, + * // "tvDataProviders": [] * // } * } * @@ -24567,7 +24572,7 @@ export namespace dfareporting_v5 { } /** - * Retransforms a dynamic feed. + * Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published). * @example * ```js * // Before running the sample: @@ -24714,7 +24719,7 @@ export namespace dfareporting_v5 { } /** - * Updates a new dynamic feed. + * Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored. * @example * ```js * // Before running the sample: @@ -24908,7 +24913,7 @@ export namespace dfareporting_v5 { } /** - * Generates code for a dynamic profile. + * Generates code for a dynamic profile, which will need unescaping. * @example * ```js * // Before running the sample: @@ -43660,10 +43665,14 @@ export namespace dfareporting_v5 { * const res = await dfareporting.tvCampaignDetails.get({ * // Required. Account ID associated with this request. * accountId: 'placeholder-value', + * // Optional. Country Dart ID. If not specified, defaults to 256 (US). + * countryDartId: 'placeholder-value', * // Required. TV Campaign ID. * id: '[^/]+', * // Required. User profile ID associated with this request. * profileId: '[^/]+', + * // Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`. + * tvDataProvider: 'placeholder-value', * }); * console.log(res.data); * @@ -43776,6 +43785,10 @@ export namespace dfareporting_v5 { * Required. Account ID associated with this request. */ accountId?: string; + /** + * Optional. Country Dart ID. If not specified, defaults to 256 (US). + */ + countryDartId?: string; /** * Required. TV Campaign ID. */ @@ -43784,6 +43797,10 @@ export namespace dfareporting_v5 { * Required. User profile ID associated with this request. */ profileId?: string; + /** + * Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`. + */ + tvDataProvider?: string; } export class Resource$Tvcampaignsummaries { @@ -43825,10 +43842,14 @@ export namespace dfareporting_v5 { * const res = await dfareporting.tvCampaignSummaries.list({ * // Required. Account ID associated with this request. * accountId: 'placeholder-value', + * // Optional. Country Dart ID. If not specified, defaults to 256 (US). + * countryDartId: 'placeholder-value', * // Required. Search string to filter the list of TV campaign summaries. Matches any substring. Required field. * name: 'placeholder-value', * // Required. User profile ID associated with this request. * profileId: '[^/]+', + * // Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`. + * tvDataProvider: 'placeholder-value', * }); * console.log(res.data); * @@ -43946,6 +43967,10 @@ export namespace dfareporting_v5 { * Required. Account ID associated with this request. */ accountId?: string; + /** + * Optional. Country Dart ID. If not specified, defaults to 256 (US). + */ + countryDartId?: string; /** * Required. Search string to filter the list of TV campaign summaries. Matches any substring. Required field. */ @@ -43954,6 +43979,10 @@ export namespace dfareporting_v5 { * Required. User profile ID associated with this request. */ profileId?: string; + /** + * Optional. TV data provider. If not specified, defaults to `COMSCORE_NATIONAL_US`. + */ + tvDataProvider?: string; } export class Resource$Userprofiles { diff --git a/src/apis/dialogflow/v2beta1.ts b/src/apis/dialogflow/v2beta1.ts index 0499e56cb6c..95b9997550b 100644 --- a/src/apis/dialogflow/v2beta1.ts +++ b/src/apis/dialogflow/v2beta1.ts @@ -1568,6 +1568,7 @@ export namespace dialogflow_v2beta1 { timeZone?: string | null; ttsConfig?: Schema$GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig; updateTime?: string | null; + useBidiStreaming?: boolean | null; } export interface Schema$GoogleCloudDialogflowV2beta1ConversationTelephonyConnectionInfo { dialedNumber?: string | null; @@ -17133,7 +17134,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * }, * }); @@ -17156,7 +17158,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * @@ -17452,7 +17455,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * @@ -17767,7 +17771,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * }, * }); @@ -17790,7 +17795,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * @@ -36210,7 +36216,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * }, * }); @@ -36233,7 +36240,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * @@ -36531,7 +36539,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * @@ -36848,7 +36857,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * }, * }); @@ -36871,7 +36881,8 @@ export namespace dialogflow_v2beta1 { * // "sttConfig": {}, * // "timeZone": "my_timeZone", * // "ttsConfig": {}, - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "useBidiStreaming": false * // } * } * diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index 7b5dbb290c1..5f3effb7bd4 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -124,6 +124,643 @@ export namespace discoveryengine_v1 { } } + /** + * Defines the A2A feature set supported by the agent + */ + export interface Schema$A2aV1AgentCapabilities { + /** + * Extensions supported by this agent. + */ + extensions?: Schema$A2aV1AgentExtension[]; + /** + * If the agent can send push notifications to the clients webhook + */ + pushNotifications?: boolean | null; + /** + * If the agent will support streaming responses + */ + streaming?: boolean | null; + } + /** + * AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19 + */ + export interface Schema$A2aV1AgentCard { + /** + * Announcement of additional supported transports. Client can use any of the supported transports. + */ + additionalInterfaces?: Schema$A2aV1AgentInterface[]; + /** + * A2A Capability set supported by the agent. + */ + capabilities?: Schema$A2aV1AgentCapabilities; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types. + */ + defaultInputModes?: string[] | null; + /** + * The mime types supported as outputs from this agent. + */ + defaultOutputModes?: string[] | null; + /** + * A description of the agent's domain of action/solution space. Example: "Agent that helps users with recipes and cooking." + */ + description?: string | null; + /** + * A url to provide additional documentation about the agent. + */ + documentationUrl?: string | null; + /** + * An optional URL to an icon for the agent. + */ + iconUrl?: string | null; + /** + * A human readable name for the agent. Example: "Recipe Agent" + */ + name?: string | null; + /** + * The transport of the preferred endpoint. If empty, defaults to JSONRPC. + */ + preferredTransport?: string | null; + /** + * The version of the A2A protocol this agent supports. + */ + protocolVersion?: string | null; + /** + * The service provider of the agent. + */ + provider?: Schema$A2aV1AgentProvider; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, "callers must either use OAuth OR an API Key AND mTLS." Example: security { schemes { key: "oauth" value { list: ["read"] \} \} \} security { schemes { key: "api-key" \} schemes { key: "mtls" \} \} + */ + security?: Schema$A2aV1Security[]; + /** + * The security scheme details used for authenticating with this agent. + */ + securitySchemes?: {[key: string]: Schema$A2aV1SecurityScheme} | null; + /** + * JSON Web Signatures computed for this AgentCard. + */ + signatures?: Schema$A2aV1AgentCardSignature[]; + /** + * Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at. + */ + skills?: Schema$A2aV1AgentSkill[]; + /** + * Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard. + */ + supportsAuthenticatedExtendedCard?: boolean | null; + /** + * A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent. + */ + url?: string | null; + /** + * The version of the agent. Example: "1.0.0" + */ + version?: string | null; + } + /** + * AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS). + */ + export interface Schema$A2aV1AgentCardSignature { + /** + * The unprotected JWS header values. + */ + header?: {[key: string]: any} | null; + /** + * Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required. + */ + protected?: string | null; + /** + * Required. The computed signature, base64url-encoded. Required. + */ + signature?: string | null; + } + /** + * A declaration of an extension supported by an Agent. + */ + export interface Schema$A2aV1AgentExtension { + /** + * A description of how this agent uses this extension. Example: "Google OAuth 2.0 authentication" + */ + description?: string | null; + /** + * Optional configuration for the extension. + */ + params?: {[key: string]: any} | null; + /** + * Whether the client must follow specific requirements of the extension. Example: false + */ + required?: boolean | null; + /** + * The URI of the extension. Example: "https://developers.google.com/identity/protocols/oauth2" + */ + uri?: string | null; + } + /** + * Defines additional transport information for the agent. + */ + export interface Schema$A2aV1AgentInterface { + /** + * Tenant to be set in the request when calling the agent. Experimental, might still change for 1.0 release. + */ + tenant?: string | null; + /** + * The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON. + */ + transport?: string | null; + /** + * The url this interface is found at. + */ + url?: string | null; + } + /** + * Represents information about the service provider of an agent. + */ + export interface Schema$A2aV1AgentProvider { + /** + * The providers organization name Example: "Google" + */ + organization?: string | null; + /** + * The providers reference url Example: "https://ai.google.dev" + */ + url?: string | null; + } + /** + * AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed. + */ + export interface Schema$A2aV1AgentSkill { + /** + * A human (or llm) readable description of the skill details and behaviors. + */ + description?: string | null; + /** + * A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: ["I need a recipe for bread"] + */ + examples?: string[] | null; + /** + * Unique identifier of the skill within this agent. + */ + id?: string | null; + /** + * Possible input modalities supported. + */ + inputModes?: string[] | null; + /** + * A human readable name for the skill. + */ + name?: string | null; + /** + * Possible output modalities produced + */ + outputModes?: string[] | null; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED + */ + security?: Schema$A2aV1Security[]; + /** + * A set of tags for the skill to enhance categorization/utilization. Example: ["cooking", "customer support", "billing"] + */ + tags?: string[] | null; + } + export interface Schema$A2aV1APIKeySecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * Location of the API key, valid values are "query", "header", or "cookie" + */ + location?: string | null; + /** + * Name of the header, query or cookie parameter to be used. + */ + name?: string | null; + } + /** + * Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication. + */ + export interface Schema$A2aV1Artifact { + /** + * Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task. + */ + artifactId?: string | null; + /** + * A human readable description of the artifact, optional. + */ + description?: string | null; + /** + * The URIs of extensions that are present or contributed to this Artifact. + */ + extensions?: string[] | null; + /** + * Optional metadata included with the artifact. + */ + metadata?: {[key: string]: any} | null; + /** + * A human readable name for the artifact. + */ + name?: string | null; + /** + * The content of the artifact. + */ + parts?: Schema$A2aV1Part[]; + } + /** + * Defines authentication details, used for push notifications. + */ + export interface Schema$A2aV1AuthenticationInfo { + /** + * Optional credentials + */ + credentials?: string | null; + /** + * Supported authentication schemes - e.g. Basic, Bearer, etc + */ + schemes?: string[] | null; + } + export interface Schema$A2aV1AuthorizationCodeOAuthFlow { + /** + * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS + */ + authorizationUrl?: string | null; + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } + export interface Schema$A2aV1CancelTaskRequest {} + export interface Schema$A2aV1ClientCredentialsOAuthFlow { + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } + /** + * DataPart represents a structured blob. This is most commonly a JSON payload. + */ + export interface Schema$A2aV1DataPart { + data?: {[key: string]: any} | null; + } + /** + * FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source. + */ + export interface Schema$A2aV1FilePart { + fileWithBytes?: string | null; + fileWithUri?: string | null; + mimeType?: string | null; + name?: string | null; + } + export interface Schema$A2aV1HTTPAuthSecurityScheme { + /** + * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes. + */ + bearerFormat?: string | null; + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235. + */ + scheme?: string | null; + } + export interface Schema$A2aV1ImplicitOAuthFlow { + /** + * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS + */ + authorizationUrl?: string | null; + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + } + export interface Schema$A2aV1ListTaskPushNotificationConfigResponse { + /** + * The list of push notification configurations. + */ + configs?: Schema$A2aV1TaskPushNotificationConfig[]; + /** + * 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; + } + /** + * Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. + */ + export interface Schema$A2aV1Message { + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content. + */ + content?: Schema$A2aV1Part[]; + /** + * The context id of the message. This is optional and if set, the message will be associated with the given context. + */ + contextId?: string | null; + /** + * The URIs of extensions that are present or contributed to this Message. + */ + extensions?: string[] | null; + /** + * The unique identifier (e.g. UUID)of the message. This is required and created by the message creator. + */ + messageId?: string | null; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message. + */ + metadata?: {[key: string]: any} | null; + /** + * A role for the message. + */ + role?: string | null; + /** + * The task id of the message. This is optional and if set, the message will be associated with the given task. + */ + taskId?: string | null; + } + export interface Schema$A2aV1MutualTlsSecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + } + export interface Schema$A2aV1OAuth2SecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * An object containing configuration information for the flow types supported + */ + flows?: Schema$A2aV1OAuthFlows; + /** + * URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required. + */ + oauth2MetadataUrl?: string | null; + } + export interface Schema$A2aV1OAuthFlows { + authorizationCode?: Schema$A2aV1AuthorizationCodeOAuthFlow; + clientCredentials?: Schema$A2aV1ClientCredentialsOAuthFlow; + implicit?: Schema$A2aV1ImplicitOAuthFlow; + password?: Schema$A2aV1PasswordOAuthFlow; + } + export interface Schema$A2aV1OpenIdConnectSecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata. + */ + openIdConnectUrl?: string | null; + } + /** + * Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON). + */ + export interface Schema$A2aV1Part { + data?: Schema$A2aV1DataPart; + file?: Schema$A2aV1FilePart; + /** + * Optional metadata associated with this part. + */ + metadata?: {[key: string]: any} | null; + text?: string | null; + } + export interface Schema$A2aV1PasswordOAuthFlow { + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } + /** + * Configuration for setting up push notifications for task updates. + */ + export interface Schema$A2aV1PushNotificationConfig { + /** + * Information about the authentication to sent with the notification + */ + authentication?: Schema$A2aV1AuthenticationInfo; + /** + * A unique identifier (e.g. UUID) for this push notification. + */ + id?: string | null; + /** + * Token unique for this task/session + */ + token?: string | null; + /** + * Url to send the notification too + */ + url?: string | null; + } + export interface Schema$A2aV1Security { + schemes?: {[key: string]: Schema$A2aV1StringList} | null; + } + export interface Schema$A2aV1SecurityScheme { + apiKeySecurityScheme?: Schema$A2aV1APIKeySecurityScheme; + httpAuthSecurityScheme?: Schema$A2aV1HTTPAuthSecurityScheme; + mtlsSecurityScheme?: Schema$A2aV1MutualTlsSecurityScheme; + oauth2SecurityScheme?: Schema$A2aV1OAuth2SecurityScheme; + openIdConnectSecurityScheme?: Schema$A2aV1OpenIdConnectSecurityScheme; + } + /** + * Configuration of a send message request. + */ + export interface Schema$A2aV1SendMessageConfiguration { + /** + * The output modes that the agent is expected to respond with. + */ + acceptedOutputModes?: string[] | null; + /** + * If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates. + */ + blocking?: boolean | null; + /** + * The maximum number of messages to include in the history. if 0, the history will be unlimited. + */ + historyLength?: number | null; + /** + * A configuration of a webhook that can be used to receive updates + */ + pushNotification?: Schema$A2aV1PushNotificationConfig; + } + /** + * /////////// Request Messages /////////// + */ + export interface Schema$A2aV1SendMessageRequest { + /** + * Configuration for the send request. + */ + configuration?: Schema$A2aV1SendMessageConfiguration; + /** + * Required. The message to send to the agent. + */ + message?: Schema$A2aV1Message; + /** + * Optional metadata for the request. + */ + metadata?: {[key: string]: any} | null; + } + /** + * ////// Response Messages /////////// + */ + export interface Schema$A2aV1SendMessageResponse { + message?: Schema$A2aV1Message; + task?: Schema$A2aV1Task; + } + /** + * The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are + */ + export interface Schema$A2aV1StreamResponse { + artifactUpdate?: Schema$A2aV1TaskArtifactUpdateEvent; + message?: Schema$A2aV1Message; + statusUpdate?: Schema$A2aV1TaskStatusUpdateEvent; + task?: Schema$A2aV1Task; + } + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED + */ + export interface Schema$A2aV1StringList { + list?: string[] | null; + } + /** + * Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history. + */ + export interface Schema$A2aV1Task { + /** + * A set of output artifacts for a Task. + */ + artifacts?: Schema$A2aV1Artifact[]; + /** + * Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server. + */ + contextId?: string | null; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task. + */ + history?: Schema$A2aV1Message[]; + /** + * Unique identifier (e.g. UUID) for the task, generated by the server for a new task. + */ + id?: string | null; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task. + */ + metadata?: {[key: string]: any} | null; + /** + * The current status of a Task, including state and a message. + */ + status?: Schema$A2aV1TaskStatus; + } + /** + * TaskArtifactUpdateEvent represents a task delta where an artifact has been generated. + */ + export interface Schema$A2aV1TaskArtifactUpdateEvent { + /** + * Whether this should be appended to a prior one produced + */ + append?: boolean | null; + /** + * The artifact itself + */ + artifact?: Schema$A2aV1Artifact; + /** + * The id of the context that this task belongs too + */ + contextId?: string | null; + /** + * Whether this represents the last part of an artifact + */ + lastChunk?: boolean | null; + /** + * Optional metadata associated with the artifact update. + */ + metadata?: {[key: string]: any} | null; + /** + * The id of the task for this artifact + */ + taskId?: string | null; + } + export interface Schema$A2aV1TaskPushNotificationConfig { + /** + * The resource name of the config. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string | null; + /** + * The push notification configuration details. + */ + pushNotificationConfig?: Schema$A2aV1PushNotificationConfig; + } + /** + * A container for the status of a task + */ + export interface Schema$A2aV1TaskStatus { + /** + * A message associated with the status. + */ + message?: Schema$A2aV1Message; + /** + * The current state of this task + */ + state?: string | null; + /** + * Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z" + */ + timestamp?: string | null; + } + /** + * TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed. + */ + export interface Schema$A2aV1TaskStatusUpdateEvent { + /** + * The id of the context that the task belongs to + */ + contextId?: string | null; + /** + * Whether this is the last status update expected for this task. + */ + final?: boolean | null; + /** + * Optional metadata to associate with the task update. + */ + metadata?: {[key: string]: any} | null; + /** + * The new status of the task. + */ + status?: Schema$A2aV1TaskStatus; + /** + * The id of the task that is changed + */ + taskId?: string | null; + } /** * `Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. */ @@ -859,6 +1496,10 @@ export namespace discoveryengine_v1 { * Optional. The language code used for notifications */ languageCode?: string | null; + /** + * Optional. The region code used of the user that subscribed to the alert policy. + */ + regionCode?: string | null; } /** * The alert enrollment status. @@ -2166,6 +2807,10 @@ export namespace discoveryengine_v1 { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy; /** * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. */ @@ -2380,6 +3025,24 @@ export namespace discoveryengine_v1 { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1alphaSchema; } + /** + * Data protection policy config for a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection content policy resource name. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -2902,6 +3565,10 @@ export namespace discoveryengine_v1 { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -3680,6 +4347,14 @@ export namespace discoveryengine_v1 { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -3907,6 +4582,10 @@ export namespace discoveryengine_v1 { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -3920,6 +4599,24 @@ export namespace discoveryengine_v1 { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -4132,6 +4829,10 @@ export namespace discoveryengine_v1 { * Defines a user inputed query. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaQuery { + /** + * Query content parts. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPart[]; /** * Output only. Unique Id for the query. */ @@ -4141,6 +4842,126 @@ export namespace discoveryengine_v1 { */ text?: string | null; } + /** + * Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPart { + /** + * Other VAIS Document references. + */ + documentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference; + /** + * Reference to a Google Drive document. + */ + driveDocumentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference; + /** + * Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + */ + mimeType?: string | null; + /** + * Reference to a person. + */ + personReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference; + /** + * Text content. + */ + text?: string | null; + /** + * This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + */ + uiJsonPayload?: string | null; + } + /** + * Represents a document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/branches/{branch\}/documents/{document_id\}`. + */ + documentName?: string | null; + /** + * Output only. The file id of the document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the reference. + */ + iconUri?: string | null; + /** + * Input only. The url_for_connector of the document returned by Federated Search. + */ + urlForConnector?: string | null; + } + /** + * Represents a Google Drive document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The Drive id of the document. + */ + driveId?: string | null; + /** + * Output only. The file id of the Drive document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the Drive document reference. + */ + iconUri?: string | null; + } + /** + * Represents a person reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference { + /** + * The destination uri of the person. + */ + destinationUri?: string | null; + /** + * The display name of the person. + */ + displayName?: string | null; + /** + * The display photo url of the person. + */ + displayPhotoUri?: string | null; + /** + * The full resource name of the person. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The email of the person. + */ + email?: string | null; + /** + * Output only. The file id of the person data stored in the session context files. + */ + fileId?: string | null; + /** + * The person id of the person. + */ + personId?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4424,6 +5245,10 @@ export namespace discoveryengine_v1 { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -4786,6 +5611,10 @@ export namespace discoveryengine_v1 { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -7635,6 +8464,10 @@ export namespace discoveryengine_v1 { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -8245,6 +9078,14 @@ export namespace discoveryengine_v1 { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -8411,6 +9252,10 @@ export namespace discoveryengine_v1 { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -8424,6 +9269,24 @@ export namespace discoveryengine_v1 { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -8704,6 +9567,10 @@ export namespace discoveryengine_v1 { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -9062,6 +9929,10 @@ export namespace discoveryengine_v1 { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -11403,6 +12274,10 @@ export namespace discoveryengine_v1 { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -12256,6 +13131,14 @@ export namespace discoveryengine_v1 { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -12677,6 +13560,10 @@ export namespace discoveryengine_v1 { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -12690,6 +13577,24 @@ export namespace discoveryengine_v1 { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -15515,6 +16420,49 @@ export namespace discoveryengine_v1 { */ type?: string | null; } + /** + * Associates `members`, or principals, with a `role`. + */ + export interface Schema$GoogleIamV1Binding { + /** + * 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$GoogleTypeExpr; + /** + * 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; + } + /** + * 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$GoogleIamV1Policy { + /** + * 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$GoogleIamV1Binding[]; + /** + * `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; + } + /** + * Request message for `SetIamPolicy` method. + */ + export interface Schema$GoogleIamV1SetIamPolicyRequest { + /** + * 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$GoogleIamV1Policy; + } /** * The request message for Operations.CancelOperation. */ @@ -15728,6 +16676,27 @@ export namespace discoveryengine_v1 { */ year?: number | null; } + /** + * 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$GoogleTypeExpr { + /** + * 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; + } /** * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). */ @@ -34580,7 +35549,7 @@ export namespace discoveryengine_v1 { } /** - * Creates a Engine. + * Creates an Engine. * @example * ```js * // Before running the sample: @@ -34630,6 +35599,7 @@ export namespace discoveryengine_v1 { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -34761,7 +35731,7 @@ export namespace discoveryengine_v1 { } /** - * Deletes a Engine. + * Deletes an Engine. * @example * ```js * // Before running the sample: @@ -34909,7 +35879,7 @@ export namespace discoveryengine_v1 { } /** - * Gets a Engine. + * Gets an Engine. * @example * ```js * // Before running the sample: @@ -34955,6 +35925,7 @@ export namespace discoveryengine_v1 { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -35076,6 +36047,156 @@ export namespace discoveryengine_v1 { } } + /** + * Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists all the Engines associated with the project. * @example @@ -35288,6 +36409,7 @@ export namespace discoveryengine_v1 { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -35315,6 +36437,7 @@ export namespace discoveryengine_v1 { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -35435,6 +36558,162 @@ export namespace discoveryengine_v1 { ); } } + + /** + * Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Collections$Engines$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+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); + } + } } export interface Params$Resource$Projects$Locations$Collections$Engines$Create extends StandardParameters { @@ -35464,6 +36743,16 @@ export namespace discoveryengine_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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$Collections$Engines$List extends StandardParameters { /** * Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH @@ -35497,6 +36786,17 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1Engine; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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 class Resource$Projects$Locations$Collections$Engines$Assistants { context: APIRequestContext; @@ -36572,16 +37872,532 @@ export namespace discoveryengine_v1 { export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents { context: APIRequestContext; + message: Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message; operations: Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Operations; + tasks: Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks; constructor(context: APIRequestContext) { this.context = context; + this.message = + new Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message( + this.context + ); this.operations = new Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Operations( this.context ); + this.tasks = + new Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks( + this.context + ); + } + + /** + * GetAgentCard returns the agent card for the agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.getCard( + * { + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "additionalInterfaces": [], + * // "capabilities": {}, + * // "defaultInputModes": [], + * // "defaultOutputModes": [], + * // "description": "my_description", + * // "documentationUrl": "my_documentationUrl", + * // "iconUrl": "my_iconUrl", + * // "name": "my_name", + * // "preferredTransport": "my_preferredTransport", + * // "protocolVersion": "my_protocolVersion", + * // "provider": {}, + * // "security": [], + * // "securitySchemes": {}, + * // "signatures": [], + * // "skills": [], + * // "supportsAuthenticatedExtendedCard": false, + * // "url": "my_url", + * // "version": "my_version" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getCard( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard, + options: StreamMethodOptions + ): Promise>; + getCard( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard, + options?: MethodOptions + ): Promise>; + getCard( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCard( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCard( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard, + callback: BodyResponseCallback + ): void; + getCard(callback: BodyResponseCallback): void; + getCard( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/card').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getcard extends StandardParameters { + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + + export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.message.send( + * { + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "message": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + send( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send, + options: StreamMethodOptions + ): Promise>; + send( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send, + options?: MethodOptions + ): Promise>; + send( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + send( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + send( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send, + callback: BodyResponseCallback + ): void; + send(callback: BodyResponseCallback): void; + send( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/message:send').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.message.stream( + * { + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stream( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream, + options: StreamMethodOptions + ): Promise>; + stream( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream, + options?: MethodOptions + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream, + callback: BodyResponseCallback + ): void; + stream(callback: BodyResponseCallback): void; + stream( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/message:stream').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Send extends StandardParameters { + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$A2aV1SendMessageRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Message$Stream extends StandardParameters { + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$A2aV1SendMessageRequest; + } + export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -36746,6 +38562,1187 @@ export namespace discoveryengine_v1 { name?: string; } + export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks { + context: APIRequestContext; + pushNotificationConfigs: Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs; + constructor(context: APIRequestContext) { + this.context = context; + this.pushNotificationConfigs = + new Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs( + this.context + ); + } + + /** + * Cancel a task from the agent. If supported one should expect no more task updates for the task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.cancel( + * { + * // The resource name of the task to cancel. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "artifacts": [], + * // "contextId": "my_contextId", + * // "history": [], + * // "id": "my_id", + * // "metadata": {}, + * // "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. + */ + cancel( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'name'], + pathParams: ['name', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get the current state of a task from the agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.get( + * { + * // The number of most recent messages from the task's history to retrieve. + * historyLength: 'placeholder-value', + * // Required. The resource name of the task. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "artifacts": [], + * // "contextId": "my_contextId", + * // "history": [], + * // "id": "my_id", + * // "metadata": {}, + * // "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. + */ + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'name'], + pathParams: ['name', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.subscribe( + * { + * // The resource name of the task to subscribe to. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + subscribe( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe, + options: StreamMethodOptions + ): Promise>; + subscribe( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe, + options?: MethodOptions + ): Promise>; + subscribe( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + subscribe( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + subscribe( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe, + callback: BodyResponseCallback + ): void; + subscribe(callback: BodyResponseCallback): void; + subscribe( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+name}:subscribe').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'name'], + pathParams: ['name', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Cancel extends StandardParameters { + /** + * The resource name of the task to cancel. Format: tasks/{task_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$A2aV1CancelTaskRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Get extends StandardParameters { + /** + * The number of most recent messages from the task's history to retrieve. + */ + historyLength?: number; + /** + * Required. The resource name of the task. Format: tasks/{task_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Subscribe extends StandardParameters { + /** + * The resource name of the task to subscribe to. Format: tasks/{task_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + + export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Set a push notification config for a task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.create( + * { + * // Required. The ID for the new config. + * configId: 'placeholder-value', + * // Required. The parent task resource for this config. Format: tasks/{task_id\} + * parent: 'tasks/my-task/pushNotificationConfigs', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "pushNotificationConfig": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "pushNotificationConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+parent}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'parent'], + pathParams: ['parent', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Delete a push notification config for a task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.delete( + * { + * // The resource name of the config to delete. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + * name: 'tasks/my-task/pushNotificationConfigs/my-pushNotificationConfig', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * 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$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'name'], + pathParams: ['name', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a push notification config for a task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.get( + * { + * // The resource name of the config to retrieve. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + * name: 'tasks/my-task/pushNotificationConfigs/my-pushNotificationConfig', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "pushNotificationConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/{+tenant}/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'name'], + pathParams: ['name', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Get a list of push notifications configured for a task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('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 discoveryengine.projects.locations.collections.engines.assistants.agents.tasks.pushNotificationConfigs.list( + * { + * // For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned. + * pageSize: 'placeholder-value', + * // A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // The parent task resource. Format: tasks/{task_id\} + * parent: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "configs": [], + * // "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$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/{+tenant}/{+parent}/pushNotificationConfigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant', 'parent'], + pathParams: ['parent', 'tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Create extends StandardParameters { + /** + * Required. The ID for the new config. + */ + configId?: string; + /** + * Required. The parent task resource for this config. Format: tasks/{task_id\} + */ + parent?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$A2aV1TaskPushNotificationConfig; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Delete extends StandardParameters { + /** + * The resource name of the config to delete. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$Get extends StandardParameters { + /** + * The resource name of the config to retrieve. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Tasks$Pushnotificationconfigs$List extends StandardParameters { + /** + * For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned. + */ + pageSize?: number; + /** + * A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token. + */ + pageToken?: string; + /** + * The parent task resource. Format: tasks/{task_id\} + */ + parent?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export class Resource$Projects$Locations$Collections$Engines$Completionconfig { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -59029,6 +62026,8 @@ export namespace discoveryengine_v1 { * // request body parameters * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -59046,6 +62045,8 @@ export namespace discoveryengine_v1 { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -59206,6 +62207,8 @@ export namespace discoveryengine_v1 { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -59365,6 +62368,8 @@ export namespace discoveryengine_v1 { * // request body parameters * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -59382,6 +62387,8 @@ export namespace discoveryengine_v1 { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 440bd75e1e4..365e5a2af8e 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -976,117 +976,6 @@ export namespace discoveryengine_v1alpha { */ text?: string | null; } - /** - * The data for displaying an Agent. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaAgentView { - /** - * Immutable. The origin of the Agent. - */ - agentOrigin?: string | null; - /** - * Output only. The sharing state of the agent. - */ - agentSharingState?: string | null; - /** - * Output only. The type of the agent. - */ - agentType?: string | null; - /** - * The custom placeholder text that appears in the text box before the user enters any text. - */ - customPlaceholderText?: string | null; - /** - * The reason why the agent deployment failed. Only set if the state is DEPLOYMENT_FAILED. - */ - deploymentFailureReason?: string | null; - /** - * Required. Human-readable description of the agent. This might be used by an LLM to automatically select an agent to respond to a user query and to generate the first version of the steps for the agent that can be modified by the user. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled. - */ - description?: string | null; - /** - * Required. Display name of the agent. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled. - */ - displayName?: string | null; - /** - * Optional. The icon that represents the agent on the UI. - */ - icon?: Schema$GoogleCloudDiscoveryengineV1alphaAgentImage; - /** - * Resource name of the agent. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - */ - name?: string | null; - /** - * The reason why the agent was rejected. Only set if the state is PRIVATE, and got there via rejection. - */ - rejectionReason?: string | null; - /** - * Output only. The state of the Agent. - */ - state?: string | null; - /** - * Optional. The suggested prompts for the agent, to be shown on the agent landing page. - */ - suggestedPrompts?: Schema$GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt[]; - /** - * The reason why the agent was suspended. Only set if the state is SUSPENDED. - */ - suspensionReason?: string | null; - /** - * Output only. The timestamp when the agent was last updated. - */ - updateTime?: string | null; - /** - * Optional. Per-user annotations of the current caller for the agent. - */ - userAnnotations?: Schema$GoogleCloudDiscoveryengineV1alphaUserAnnotations; - /** - * The permissions of the user for this Agent. - */ - userPermissions?: Schema$GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions; - } - /** - * A suggested prompt for the agent, to be shown on the agent landing page. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt { - /** - * Required. The text of the suggested prompt. The language of this is either Agent.language_code, or ListAvailableAgentViewsRequest.language_code if translations are enabled. - */ - text?: string | null; - } - /** - * The permissions of the user on an Agent. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions { - /** - * If the user can delete this Agent. - */ - canDelete?: boolean | null; - /** - * If the user can edit this Agent. - */ - canEdit?: boolean | null; - /** - * If the user can propose other users to share the Agent with. - */ - canProposeUsers?: boolean | null; - /** - * If the user can request a review for this Agent. - */ - canRequestReview?: boolean | null; - /** - * If the user can run this Agent. - */ - canRun?: boolean | null; - /** - * If the user can view the source of this Agent. - */ - canView?: boolean | null; - /** - * If the user can withdraw this Agent. - */ - canWithdraw?: boolean | null; - } /** * The connector level alert config. */ @@ -1133,6 +1022,10 @@ export namespace discoveryengine_v1alpha { * Optional. The language code used for notifications */ languageCode?: string | null; + /** + * Optional. The region code used of the user that subscribed to the alert policy. + */ + regionCode?: string | null; } /** * The alert enrollment status. @@ -2852,6 +2745,14 @@ export namespace discoveryengine_v1alpha { * Whether the BillingAccountLicenseConfig is auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed subscription end date. */ @@ -3419,6 +3320,15 @@ export namespace discoveryengine_v1alpha { */ name?: string | null; } + /** + * Response message for CompletionService.CompleteExternalIdentities. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCompleteExternalIdentitiesResponse { + /** + * The list of external identities that match the query. + */ + externalIdentities?: Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentity[]; + } /** * Response message for CompletionService.CompleteQuery method. */ @@ -4125,6 +4035,10 @@ export namespace discoveryengine_v1alpha { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy; /** * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. */ @@ -4339,6 +4253,24 @@ export namespace discoveryengine_v1alpha { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1alphaSchema; } + /** + * Data protection policy config for a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection content policy resource name. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -5064,6 +4996,10 @@ export namespace discoveryengine_v1alpha { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -5505,6 +5441,48 @@ export namespace discoveryengine_v1alpha { * Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsResponse {} + /** + * External identity representing either a user or group. This user or group is from an external identity provider (IdP). + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentity { + /** + * The display name of the user or group. + */ + displayName?: string | null; + /** + * The unique 3P ID(external_id) of the entity (user or group). + */ + externalId?: string | null; + /** + * Metadata corresponding to the external user. + */ + groupMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata; + /** + * Metadata corresponding to the external user. + */ + userMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata; + } + /** + * Metadata corresponding to the external group. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata {} + /** + * Metadata corresponding to the external user. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata { + /** + * The user's family name. + */ + familyName?: string | null; + /** + * The user's given name. + */ + givenName?: string | null; + /** + * The user's primary email address. + */ + primaryEmail?: string | null; + } /** * Fact Chunk. */ @@ -5782,15 +5760,6 @@ export namespace discoveryengine_v1alpha { */ inputUris?: string[] | null; } - /** - * Response message for the AgentService.GetAgentView method. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse { - /** - * The data for displaying an Agent. - */ - agentView?: Schema$GoogleCloudDiscoveryengineV1alphaAgentView; - } /** * Response message for DataConnectorService.GetConnectorSecret. */ @@ -6484,6 +6453,14 @@ export namespace discoveryengine_v1alpha { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -6573,19 +6550,6 @@ export namespace discoveryengine_v1alpha { */ nextPageToken?: string | null; } - /** - * Response message for the AgentService.ListAvailableAgentViews method. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse { - /** - * The agent sources visible to the caller under the parent Assistant. - */ - agentViews?: Schema$GoogleCloudDiscoveryengineV1alphaAgentView[]; - /** - * A token that can be sent as ListAvailableAgentViewsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - } /** * Response message for LicenseConfigService.ListBillingAccountLicenseConfigs method. */ @@ -7217,6 +7181,10 @@ export namespace discoveryengine_v1alpha { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -7230,6 +7198,24 @@ export namespace discoveryengine_v1alpha { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -7562,6 +7548,10 @@ export namespace discoveryengine_v1alpha { * Defines a user inputed query. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaQuery { + /** + * Query content parts. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPart[]; /** * Output only. Unique Id for the query. */ @@ -7610,6 +7600,126 @@ export namespace discoveryengine_v1alpha { */ totalUsage?: number | null; } + /** + * Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPart { + /** + * Other VAIS Document references. + */ + documentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference; + /** + * Reference to a Google Drive document. + */ + driveDocumentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference; + /** + * Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + */ + mimeType?: string | null; + /** + * Reference to a person. + */ + personReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference; + /** + * Text content. + */ + text?: string | null; + /** + * This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + */ + uiJsonPayload?: string | null; + } + /** + * Represents a document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/branches/{branch\}/documents/{document_id\}`. + */ + documentName?: string | null; + /** + * Output only. The file id of the document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the reference. + */ + iconUri?: string | null; + /** + * Input only. The url_for_connector of the document returned by Federated Search. + */ + urlForConnector?: string | null; + } + /** + * Represents a Google Drive document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The Drive id of the document. + */ + driveId?: string | null; + /** + * Output only. The file id of the Drive document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the Drive document reference. + */ + iconUri?: string | null; + } + /** + * Represents a person reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference { + /** + * The destination uri of the person. + */ + destinationUri?: string | null; + /** + * The display name of the person. + */ + displayName?: string | null; + /** + * The display photo url of the person. + */ + displayPhotoUri?: string | null; + /** + * The full resource name of the person. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The email of the person. + */ + email?: string | null; + /** + * Output only. The file id of the person data stored in the session context files. + */ + fileId?: string | null; + /** + * The person id of the person. + */ + personId?: string | null; + } /** * Record message for RankService.Rank method. */ @@ -8362,6 +8472,10 @@ export namespace discoveryengine_v1alpha { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -8724,6 +8838,10 @@ export namespace discoveryengine_v1alpha { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -9907,6 +10025,10 @@ export namespace discoveryengine_v1alpha { * Request for the AssistantService.StreamAssist method. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaStreamAssistRequest { + /** + * Optional. Specification of actions for the request. + */ + actionSpec?: Schema$GoogleCloudDiscoveryengineV1alphaStreamAssistRequestActionSpec; /** * Optional. Specification of the generation configuration for the request. */ @@ -9928,6 +10050,15 @@ export namespace discoveryengine_v1alpha { */ userMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaAssistUserMetadata; } + /** + * Specification of actions for the request. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaStreamAssistRequestActionSpec { + /** + * Optional. If true, actions will not be served for the request. This only works for enterprise edition. + */ + actionDisabled?: boolean | null; + } /** * Assistant generation specification for the request. This allows to override the default generation configuration at the engine level. */ @@ -10310,19 +10441,6 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } - /** - * Per-user annotations for an Agent, based on UserAnnotation. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaUserAnnotations { - /** - * Optional. Whether the agent is pinned, pinned agent will be displayed on the top of the agent list. - */ - pinned?: boolean | null; - /** - * Optional. Whether the agent has been viewed by the user. - */ - viewed?: boolean | null; - } /** * UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website. */ @@ -12156,6 +12274,10 @@ export namespace discoveryengine_v1alpha { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -12766,6 +12888,14 @@ export namespace discoveryengine_v1alpha { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -12932,6 +13062,10 @@ export namespace discoveryengine_v1alpha { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -12945,6 +13079,24 @@ export namespace discoveryengine_v1alpha { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -13225,6 +13377,10 @@ export namespace discoveryengine_v1alpha { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -13583,6 +13739,10 @@ export namespace discoveryengine_v1alpha { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -15130,6 +15290,10 @@ export namespace discoveryengine_v1alpha { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -15614,6 +15778,14 @@ export namespace discoveryengine_v1alpha { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -15746,6 +15918,10 @@ export namespace discoveryengine_v1alpha { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -15759,6 +15935,24 @@ export namespace discoveryengine_v1alpha { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -17576,6 +17770,8 @@ export namespace discoveryengine_v1alpha { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "geminiBundle": false, * // "licenseConfigDistributions": {}, @@ -18826,6 +19022,167 @@ export namespace discoveryengine_v1alpha { ); } + /** + * This method provides suggestions for users and groups managed in an external identity provider, based on the provided prefix. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1alpha'); + * + * async function main() { + * const auth = new google.auth.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/discoveryengine.assist.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.completeExternalIdentities({ + * // Optional. The type of entities to fetch. If not set, all entity types will be returned. + * entityTypeFilter: 'placeholder-value', + * // Optional. The maximum number of user and group results to return. The service may return fewer than this value. If unspecified, at most 6 results will be returned. The limit is distributed as evenly as possible across users and groups. For example, if max_suggestions is 7, the service may return 4 users and 3 groups. If there are fewer suggestions of one type than half the limit, the other type may return more suggestions up to the max_suggestions limit. + * maxSuggestions: 'placeholder-value', + * // Required. The parent location resource name, such as `projects/x/locations/global`. + * parent: 'projects/my-project/locations/my-location', + * // Required. The prefix to search for. For users, this prefix is matched against the `primary_email`. For groups, this prefix is matched against the `display_name`. The matching is case-insensitive. + * prefixQuery: 'placeholder-value', + * // Optional. Whether to use scim identities for external identity completion. If false, we will call the Microsoft graph API to fetch the external identities. + * useScimIdentities: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "externalIdentities": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeExternalIdentities( + params: Params$Resource$Projects$Locations$Completeexternalidentities, + options: StreamMethodOptions + ): Promise>; + completeExternalIdentities( + params?: Params$Resource$Projects$Locations$Completeexternalidentities, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + completeExternalIdentities( + params: Params$Resource$Projects$Locations$Completeexternalidentities, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeExternalIdentities( + params: Params$Resource$Projects$Locations$Completeexternalidentities, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeExternalIdentities( + params: Params$Resource$Projects$Locations$Completeexternalidentities, + callback: BodyResponseCallback + ): void; + completeExternalIdentities( + callback: BodyResponseCallback + ): void; + completeExternalIdentities( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Completeexternalidentities + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Completeexternalidentities; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Completeexternalidentities; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+parent}:completeExternalIdentities' + ).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 + ); + } + } + /** * Estimates the data size to be used by a customer. * @example @@ -20156,6 +20513,7 @@ export namespace discoveryengine_v1alpha { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "endUserConfig": {}, @@ -20621,6 +20979,28 @@ export namespace discoveryengine_v1alpha { } } + export interface Params$Resource$Projects$Locations$Completeexternalidentities extends StandardParameters { + /** + * Optional. The type of entities to fetch. If not set, all entity types will be returned. + */ + entityTypeFilter?: string; + /** + * Optional. The maximum number of user and group results to return. The service may return fewer than this value. If unspecified, at most 6 results will be returned. The limit is distributed as evenly as possible across users and groups. For example, if max_suggestions is 7, the service may return 4 users and 3 groups. If there are fewer suggestions of one type than half the limit, the other type may return more suggestions up to the max_suggestions limit. + */ + maxSuggestions?: number; + /** + * Required. The parent location resource name, such as `projects/x/locations/global`. + */ + parent?: string; + /** + * Required. The prefix to search for. For users, this prefix is matched against the `primary_email`. For groups, this prefix is matched against the `display_name`. The matching is case-insensitive. + */ + prefixQuery?: string; + /** + * Optional. Whether to use scim identities for external identity completion. If false, we will call the Microsoft graph API to fetch the external identities. + */ + useScimIdentities?: boolean; + } export interface Params$Resource$Projects$Locations$Estimatedatasize extends StandardParameters { /** * Required. Full resource name of the location, such as `projects/{project\}/locations/{location\}`. @@ -22633,6 +23013,7 @@ export namespace discoveryengine_v1alpha { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "endUserConfig": {}, @@ -23141,6 +23522,7 @@ export namespace discoveryengine_v1alpha { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "endUserConfig": {}, @@ -23187,6 +23569,7 @@ export namespace discoveryengine_v1alpha { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "endUserConfig": {}, @@ -23923,7 +24306,7 @@ export namespace discoveryengine_v1alpha { * const res = * await discoveryengine.projects.locations.collections.dataConnector.startConnectorRun( * { - * // Required. Connector name of the form projects/{project\}/locations/{location\}/collections/ {collection_id\}/dataConnector + * // Required. Connector name of the form `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataConnector` * parent: * 'projects/my-project/locations/my-location/collections/my-collection/dataConnector', * @@ -24089,7 +24472,7 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun extends StandardParameters { /** - * Required. Connector name of the form projects/{project\}/locations/{location\}/collections/ {collection_id\}/dataConnector + * Required. Connector name of the form `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataConnector` */ parent?: string; @@ -35997,6 +36380,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -36219,6 +36603,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -42859,7 +43244,7 @@ export namespace discoveryengine_v1alpha { } /** - * Creates a Engine. + * Creates an Engine. * @example * ```js * // Before running the sample: @@ -42909,6 +43294,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -43042,7 +43428,7 @@ export namespace discoveryengine_v1alpha { } /** - * Deletes a Engine. + * Deletes an Engine. * @example * ```js * // Before running the sample: @@ -43190,7 +43576,7 @@ export namespace discoveryengine_v1alpha { } /** - * Gets a Engine. + * Gets an Engine. * @example * ```js * // Before running the sample: @@ -43236,6 +43622,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -43359,6 +43746,156 @@ export namespace discoveryengine_v1alpha { } } + /** + * Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1alpha'); + * + * async function main() { + * const auth = new google.auth.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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Get Workspace settings for the end user. * @example @@ -43726,6 +44263,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -43755,6 +44293,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -43879,7 +44418,7 @@ export namespace discoveryengine_v1alpha { } /** - * Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -43932,6 +44471,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -44059,7 +44599,7 @@ export namespace discoveryengine_v1alpha { } /** - * Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -44112,6 +44652,7 @@ export namespace discoveryengine_v1alpha { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -44239,7 +44780,163 @@ export namespace discoveryengine_v1alpha { } /** - * Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1alpha'); + * + * async function main() { + * const auth = new google.auth.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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Collections$Engines$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+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); + } + } + + /** + * Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -44424,6 +45121,16 @@ export namespace discoveryengine_v1alpha { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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$Collections$Engines$Getworkspacesettings extends StandardParameters { /** * Required. Full Engine resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}` @@ -44485,6 +45192,17 @@ export namespace discoveryengine_v1alpha { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaResumeEngineRequest; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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$Collections$Engines$Tune extends StandardParameters { /** * Required. The resource name of the engine to tune. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}` @@ -45679,179 +46397,6 @@ export namespace discoveryengine_v1alpha { } } - /** - * Lists the data for displaying the Agents under an Assistant which are available to the caller. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.listAvailableAgentViews( - * { - * // Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user. - * adminView: 'placeholder-value', - * // Optional. The origin of the Agent. - * agentOrigin: 'placeholder-value', - * // Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the files being filtered. Filter expression is case-sensitive. Allowed fields are: * `display_name` * `state` Some examples of filters would be: * `display_name = 'agent_1'` * `display_name = 'agent_1' AND state = ENABLED` For a full description of the filter format, please see https://google.aip.dev/160. - * filter: 'placeholder-value', - * // Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentViews in the response should be translated to this language. - * languageCode: 'placeholder-value', - * // Optional. The maximum number of suggested prompts to return per agent. - * maxSuggestedPrompts: 'placeholder-value', - * // Optional. Maximum number of AgentViews to return. If unspecified, defaults to 100. The maximum allowed value is 1000; anything above that will be coerced down to 1000. - * pageSize: 'placeholder-value', - * // Optional. A page token ListAvailableAgentViewsResponse.next_page_token, received from a previous AgentService.ListAvailableAgentViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAvailableAgentViews must match the call that provided the page token. - * pageToken: 'placeholder-value', - * // Required. The parent resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` - * parent: - * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant', - * // Optional. The field to sort by. Can have the following values: - display-name: The display name of the agent. - description: The description of the agent. - create-time: The creation time of the agent. - state: The state of the agent. - * sortBy: 'placeholder-value', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "agentViews": [], - * // "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. - */ - listAvailableAgentViews( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews, - options: StreamMethodOptions - ): Promise>; - listAvailableAgentViews( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listAvailableAgentViews( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listAvailableAgentViews( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listAvailableAgentViews( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews, - callback: BodyResponseCallback - ): void; - listAvailableAgentViews( - callback: BodyResponseCallback - ): void; - listAvailableAgentViews( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/v1alpha/{+parent}:listAvailableAgentViews' - ).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 - ); - } - } - /** * Updates an Assistant * @example @@ -46075,6 +46620,7 @@ export namespace discoveryengine_v1alpha { * requestBody: { * // request body parameters * // { + * // "actionSpec": {}, * // "generationSpec": {}, * // "query": {}, * // "session": "my_session", @@ -46244,44 +46790,6 @@ export namespace discoveryengine_v1alpha { */ parent?: string; } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Listavailableagentviews extends StandardParameters { - /** - * Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user. - */ - adminView?: boolean; - /** - * Optional. The origin of the Agent. - */ - agentOrigin?: string; - /** - * Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the files being filtered. Filter expression is case-sensitive. Allowed fields are: * `display_name` * `state` Some examples of filters would be: * `display_name = 'agent_1'` * `display_name = 'agent_1' AND state = ENABLED` For a full description of the filter format, please see https://google.aip.dev/160. - */ - filter?: string; - /** - * Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentViews in the response should be translated to this language. - */ - languageCode?: string; - /** - * Optional. The maximum number of suggested prompts to return per agent. - */ - maxSuggestedPrompts?: number; - /** - * Optional. Maximum number of AgentViews to return. If unspecified, defaults to 100. The maximum allowed value is 1000; anything above that will be coerced down to 1000. - */ - pageSize?: number; - /** - * Optional. A page token ListAvailableAgentViewsResponse.next_page_token, received from a previous AgentService.ListAvailableAgentViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAvailableAgentViews must match the call that provided the page token. - */ - pageToken?: string; - /** - * Required. The parent resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` - */ - parent?: string; - /** - * Optional. The field to sort by. Can have the following values: - display-name: The display name of the agent. - description: The description of the agent. - create-time: The creation time of the agent. - state: The state of the agent. - */ - sortBy?: string; - } export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Patch extends StandardParameters { /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. @@ -46678,7 +47186,7 @@ export namespace discoveryengine_v1alpha { } /** - * Disables an Agent. The `state` of the Agent becomes `DISABLED`. Can be called on an Agent in the state `ENABLED` or`SUSPENDED`, otherwise it returns an error. + * Gets an Agent. * @example * ```js * // Before running the sample: @@ -46712,12 +47220,10 @@ export namespace discoveryengine_v1alpha { * * // Do the magic * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.disableAgent( + * await discoveryengine.projects.locations.collections.engines.assistants.agents.get( * { - * // Required. The name of the Agent to disable. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` + * // Required. Resource name of Agent. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * // Optional. The Revision ID of the Agent to disable. If not specified, the latest revision will be disabled. - * revisionId: 'placeholder-value', * }, * ); * console.log(res.data); @@ -46758,38 +47264,38 @@ export namespace discoveryengine_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - disableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, options: StreamMethodOptions ): Promise>; - disableAgent( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent, + get( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, options?: MethodOptions ): Promise< GaxiosResponseWithHTTP2 >; - disableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - disableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - disableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, callback: BodyResponseCallback ): void; - disableAgent( + get( callback: BodyResponseCallback ): void; - disableAgent( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -46807,13 +47313,13 @@ export namespace discoveryengine_v1alpha { > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent; + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get; options = {}; } @@ -46827,11 +47333,8 @@ export namespace discoveryengine_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}:disableAgent').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -46854,7 +47357,7 @@ export namespace discoveryengine_v1alpha { } /** - * Enables an Agent. The `state` of the Agent becomes `ENABLED`. Can be called on an Agent in the state `DISABLED` or 'SUSPENDED', otherwise it returns an error. + * Lists all Agents under an Assistant which were created by the caller. * @example * ```js * // Before running the sample: @@ -46888,37 +47391,25 @@ export namespace discoveryengine_v1alpha { * * // Do the magic * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.enableAgent( + * await discoveryengine.projects.locations.collections.engines.assistants.agents.list( * { - * // Required. The name of the Agent to enable. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * // Optional. The Revision ID of the Agent to enable. If not specified, the latest revision will be enabled. - * revisionId: 'placeholder-value', + * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `is_pinned` Example: * "update_time desc" * "is_pinned desc,update_time desc": list agents by is_pinned first, then by update_time. + * orderBy: 'placeholder-value', + * // Optional. Maximum number of Agents to return. If unspecified, defaults to 100. The maximum allowed value is 1000; anything above that will be coerced down to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token ListAgentsResponse.next_page_token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAgents must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` + * parent: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant', * }, * ); * console.log(res.data); * * // Example response * // { - * // "a2aAgentDefinition": {}, - * // "adkAgentDefinition": {}, - * // "authorizationConfig": {}, - * // "createTime": "my_createTime", - * // "customPlaceholderText": "my_customPlaceholderText", - * // "deploymentFailureReason": "my_deploymentFailureReason", - * // "description": "my_description", - * // "dialogflowAgentDefinition": {}, - * // "displayName": "my_displayName", - * // "icon": {}, - * // "languageCode": "my_languageCode", - * // "managedAgentDefinition": {}, - * // "name": "my_name", - * // "rejectionReason": "my_rejectionReason", - * // "sharingConfig": {}, - * // "starterPrompts": [], - * // "state": "my_state", - * // "suspensionReason": "my_suspensionReason", - * // "updateTime": "my_updateTime" + * // "agents": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -46934,62 +47425,62 @@ export namespace discoveryengine_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - enableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent, + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, options: StreamMethodOptions ): Promise>; - enableAgent( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent, + list( + params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; - enableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent, + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - enableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent, + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - enableAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, + callback: BodyResponseCallback ): void; - enableAgent( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - enableAgent( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List + | 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$Collections$Engines$Assistants$Agents$Enableagent; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent; + {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List; options = {}; } @@ -47003,684 +47494,34 @@ export namespace discoveryengine_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}:enableAgent').replace( + url: (rootUrl + '/v1alpha/{+parent}/agents').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Gets an Agent. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.get( - * { - * // Required. Resource name of Agent. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "a2aAgentDefinition": {}, - * // "adkAgentDefinition": {}, - * // "authorizationConfig": {}, - * // "createTime": "my_createTime", - * // "customPlaceholderText": "my_customPlaceholderText", - * // "deploymentFailureReason": "my_deploymentFailureReason", - * // "description": "my_description", - * // "dialogflowAgentDefinition": {}, - * // "displayName": "my_displayName", - * // "icon": {}, - * // "languageCode": "my_languageCode", - * // "managedAgentDefinition": {}, - * // "name": "my_name", - * // "rejectionReason": "my_rejectionReason", - * // "sharingConfig": {}, - * // "starterPrompts": [], - * // "state": "my_state", - * // "suspensionReason": "my_suspensionReason", - * // "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$Collections$Engines$Assistants$Agents$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback - ): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}').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( + return createAPIRequest( parameters ); } } /** - * Returns a AgentView for a given Agent, which contains additional information about the Agent. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.getAgentView( - * { - * // Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user. - * adminView: 'placeholder-value', - * // Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentView in the response should be translated to this language. - * languageCode: 'placeholder-value', - * // Optional. The maximum number of suggested prompts to return per agent. - * maxSuggestedPrompts: 'placeholder-value', - * // Required. The name of the Agent to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "agentView": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getAgentView( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview, - options: StreamMethodOptions - ): Promise>; - getAgentView( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getAgentView( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAgentView( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAgentView( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview, - callback: BodyResponseCallback - ): void; - getAgentView( - callback: BodyResponseCallback - ): void; - getAgentView( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}:getAgentView').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 the access control policy for an agent resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.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/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "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$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy, - options: StreamMethodOptions - ): Promise>; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy, - options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy, - callback: BodyResponseCallback - ): void; - getIamPolicy( - callback: BodyResponseCallback - ): void; - getIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+resource}:getIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists all Agents under an Assistant which were created by the caller. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.list( - * { - * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `is_pinned` Example: * "update_time desc" * "is_pinned desc,update_time desc": list agents by is_pinned first, then by update_time. - * orderBy: 'placeholder-value', - * // Optional. Maximum number of Agents to return. If unspecified, defaults to 100. The maximum allowed value is 1000; anything above that will be coerced down to 1000. - * pageSize: 'placeholder-value', - * // Optional. A page token ListAgentsResponse.next_page_token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAgents must match the call that provided the page token. - * pageToken: 'placeholder-value', - * // Required. The parent resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` - * parent: - * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "agents": [], - * // "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$Collections$Engines$Assistants$Agents$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+parent}/agents').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 - ); - } - } - - /** - * Updates an Agent + * Updates an Agent * @example * ```js * // Before running the sample: @@ -47877,341 +47718,6 @@ export namespace discoveryengine_v1alpha { ); } } - - /** - * Sets the access control policy for an agent resource. A `NOT_FOUND` error is returned if the resource does not exist. Policy can only contain `roles/discoveryengine.agentUser`, `roles/discoveryengine.agentViewer` and `roles/discoveryengine.agentEditor` roles. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.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/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "policy": {} - * // } - * }, - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "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$Collections$Engines$Assistants$Agents$Setiampolicy, - options: StreamMethodOptions - ): Promise>; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy, - options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy, - callback: BodyResponseCallback - ): void; - setIamPolicy( - callback: BodyResponseCallback - ): void; - setIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Setiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+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); - } - } - - /** - * Suspends an Agent. It is still available for viewing but not for use. The `state` of the Agent becomes `SUSPENDED`. Can be called on an Agent in the state `ENABLED`, otherwise it returns an error. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.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/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.collections.engines.assistants.agents.suspendAgent( - * { - * // Required. The name of the Agent to suspend. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/assistants/my-assistant/agents/my-agent', - * // Required. The reason for suspending the Agent. This will be shown to the users of the Agent. - * suspensionReason: 'placeholder-value', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // { - * // "a2aAgentDefinition": {}, - * // "adkAgentDefinition": {}, - * // "authorizationConfig": {}, - * // "createTime": "my_createTime", - * // "customPlaceholderText": "my_customPlaceholderText", - * // "deploymentFailureReason": "my_deploymentFailureReason", - * // "description": "my_description", - * // "dialogflowAgentDefinition": {}, - * // "displayName": "my_displayName", - * // "icon": {}, - * // "languageCode": "my_languageCode", - * // "managedAgentDefinition": {}, - * // "name": "my_name", - * // "rejectionReason": "my_rejectionReason", - * // "sharingConfig": {}, - * // "starterPrompts": [], - * // "state": "my_state", - * // "suspensionReason": "my_suspensionReason", - * // "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. - */ - suspendAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent, - options: StreamMethodOptions - ): Promise>; - suspendAgent( - params?: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - suspendAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - suspendAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - suspendAgent( - params: Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent, - callback: BodyResponseCallback - ): void; - suspendAgent( - callback: BodyResponseCallback - ): void; - suspendAgent( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Suspendagent; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}:suspendAgent').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - 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$Collections$Engines$Assistants$Agents$Create extends StandardParameters { @@ -48231,60 +47737,12 @@ export namespace discoveryengine_v1alpha { */ name?: string; } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Disableagent extends StandardParameters { - /** - * Required. The name of the Agent to disable. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - */ - name?: string; - /** - * Optional. The Revision ID of the Agent to disable. If not specified, the latest revision will be disabled. - */ - revisionId?: string; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Enableagent extends StandardParameters { - /** - * Required. The name of the Agent to enable. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - */ - name?: string; - /** - * Optional. The Revision ID of the Agent to enable. If not specified, the latest revision will be enabled. - */ - revisionId?: string; - } export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Get extends StandardParameters { /** * Required. Resource name of Agent. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Getagentview extends StandardParameters { - /** - * Optional. Indicates whether to consider if the caller is an admin. If set, and the caller is an admin, the response will consider admin-only permissions. Otherwise, a caller with admin permissions will get a response as an unprivileged user. - */ - adminView?: boolean; - /** - * Optional. The UI language currently shown to the user. Specifying this field request that the texts in the AgentView in the response should be translated to this language. - */ - languageCode?: string; - /** - * Optional. The maximum number of suggested prompts to return per agent. - */ - maxSuggestedPrompts?: number; - /** - * Required. The name of the Agent to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$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$Collections$Engines$Assistants$Agents$List extends StandardParameters { /** * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `is_pinned` Example: * "update_time desc" * "is_pinned desc,update_time desc": list agents by is_pinned first, then by update_time. @@ -48318,27 +47776,6 @@ export namespace discoveryengine_v1alpha { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAgent; } - export interface Params$Resource$Projects$Locations$Collections$Engines$Assistants$Agents$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$Collections$Engines$Assistants$Agents$Suspendagent extends StandardParameters { - /** - * Required. The name of the Agent to suspend. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}/agents/{agent\}` - */ - name?: string; - /** - * Required. The reason for suspending the Agent. This will be shown to the users of the Agent. - */ - suspensionReason?: string; - } export class Resource$Projects$Locations$Collections$Engines$Assistants$Agents$Files { context: APIRequestContext; @@ -53567,6 +53004,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -53789,6 +53227,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -67249,6 +66688,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -67470,6 +66910,7 @@ export namespace discoveryengine_v1alpha { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -75296,6 +74737,8 @@ export namespace discoveryengine_v1alpha { * // { * // "alertPolicyResourceConfig": {}, * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -75314,6 +74757,8 @@ export namespace discoveryengine_v1alpha { * // { * // "alertPolicyResourceConfig": {}, * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -75475,6 +74920,8 @@ export namespace discoveryengine_v1alpha { * // { * // "alertPolicyResourceConfig": {}, * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -75635,6 +75082,8 @@ export namespace discoveryengine_v1alpha { * // { * // "alertPolicyResourceConfig": {}, * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -75653,6 +75102,8 @@ export namespace discoveryengine_v1alpha { * // { * // "alertPolicyResourceConfig": {}, * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index c6b4401a6a3..f93dfd8a087 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -625,6 +625,10 @@ export namespace discoveryengine_v1beta { * Optional. The language code used for notifications */ languageCode?: string | null; + /** + * Optional. The region code used of the user that subscribed to the alert policy. + */ + regionCode?: string | null; } /** * The alert enrollment status. @@ -1932,6 +1936,10 @@ export namespace discoveryengine_v1beta { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy; /** * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. */ @@ -2146,6 +2154,24 @@ export namespace discoveryengine_v1beta { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1alphaSchema; } + /** + * Data protection policy config for a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection content policy resource name. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -2668,6 +2694,10 @@ export namespace discoveryengine_v1beta { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -3446,6 +3476,14 @@ export namespace discoveryengine_v1beta { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -3673,6 +3711,10 @@ export namespace discoveryengine_v1beta { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -3686,6 +3728,24 @@ export namespace discoveryengine_v1beta { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -3898,6 +3958,10 @@ export namespace discoveryengine_v1beta { * Defines a user inputed query. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaQuery { + /** + * Query content parts. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPart[]; /** * Output only. Unique Id for the query. */ @@ -3907,6 +3971,126 @@ export namespace discoveryengine_v1beta { */ text?: string | null; } + /** + * Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPart { + /** + * Other VAIS Document references. + */ + documentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference; + /** + * Reference to a Google Drive document. + */ + driveDocumentReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference; + /** + * Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + */ + mimeType?: string | null; + /** + * Reference to a person. + */ + personReference?: Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference; + /** + * Text content. + */ + text?: string | null; + /** + * This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + */ + uiJsonPayload?: string | null; + } + /** + * Represents a document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/branches/{branch\}/documents/{document_id\}`. + */ + documentName?: string | null; + /** + * Output only. The file id of the document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the reference. + */ + iconUri?: string | null; + /** + * Input only. The url_for_connector of the document returned by Federated Search. + */ + urlForConnector?: string | null; + } + /** + * Represents a Google Drive document reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartDriveDocumentReference { + /** + * The destination uri of the reference. + */ + destinationUri?: string | null; + /** + * The display title of the reference. + */ + displayTitle?: string | null; + /** + * The full resource name of the document. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The Drive id of the document. + */ + driveId?: string | null; + /** + * Output only. The file id of the Drive document data stored in the session context files. + */ + fileId?: string | null; + /** + * The icon uri of the Drive document reference. + */ + iconUri?: string | null; + } + /** + * Represents a person reference. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaQueryPartPersonReference { + /** + * The destination uri of the person. + */ + destinationUri?: string | null; + /** + * The display name of the person. + */ + displayName?: string | null; + /** + * The display photo url of the person. + */ + displayPhotoUri?: string | null; + /** + * The full resource name of the person. Format: `projects/x/locations/x/collections/x/dataStores/x/branches/x/documents/x`. + */ + documentName?: string | null; + /** + * The email of the person. + */ + email?: string | null; + /** + * Output only. The file id of the person data stored in the session context files. + */ + fileId?: string | null; + /** + * The person id of the person. + */ + personId?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4190,6 +4374,10 @@ export namespace discoveryengine_v1beta { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -4552,6 +4740,10 @@ export namespace discoveryengine_v1beta { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -8681,6 +8873,10 @@ export namespace discoveryengine_v1beta { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -9669,6 +9865,14 @@ export namespace discoveryengine_v1beta { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -10202,6 +10406,10 @@ export namespace discoveryengine_v1beta { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -10215,6 +10423,24 @@ export namespace discoveryengine_v1beta { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -10961,6 +11187,10 @@ export namespace discoveryengine_v1beta { * Optional. Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; + /** + * Optional. The maximum number of results to retrieve from each data store. If not specified, it will use the SearchRequest.DataStoreSpec.num_results if provided, otherwise there is no limit. + */ + numResultsPerDataStore?: number | null; /** * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be capped to a reasonable threshold. */ @@ -11319,6 +11549,10 @@ export namespace discoveryengine_v1beta { * Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) */ filter?: string | null; + /** + * Optional. The maximum number of results to retrieve from this data store. If not specified, it will use the SearchRequest.num_results_per_data_store if provided, otherwise there is no limit. If both this field and SearchRequest.num_results_per_data_store are specified, this field will be used. + */ + numResults?: number | null; } /** * Specifies features for display, like match highlighting. @@ -13977,6 +14211,10 @@ export namespace discoveryengine_v1beta { * Optional. Configuration for configurable billing approach. */ configurableBillingApproach?: string | null; + /** + * Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. + */ + connectorTenantInfo?: {[key: string]: string} | null; /** * Output only. Timestamp the Recommendation Engine was created at. */ @@ -14461,6 +14699,14 @@ export namespace discoveryengine_v1beta { * Optional. Whether the license config should be auto renewed when it reaches the end date. */ autoRenew?: boolean | null; + /** + * Output only. Indication of whether the subscription is terminated earlier than the expiration date. This is usually terminated by pipeline once the subscription gets terminated from subsv3. + */ + earlyTerminated?: boolean | null; + /** + * Output only. The date when the subscription is terminated earlier than the expiration date. + */ + earlyTerminationDate?: Schema$GoogleTypeDate; /** * Optional. The planed end date. */ @@ -14593,6 +14839,10 @@ export namespace discoveryengine_v1beta { * Configuration for NotebookLM. */ export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig { + /** + * Optional. Specifies the data protection policy for NotebookLM. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy; /** * Model Armor configuration to be used for sanitizing user prompts and LLM responses. */ @@ -14606,6 +14856,24 @@ export namespace discoveryengine_v1beta { */ optOutNotebookSharing?: boolean | null; } + /** + * Data protection policy config for NotebookLM. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicy { + /** + * Optional. The sensitive data protection policy. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. The Sensitive Data Protection policy resource name. + */ + policy?: string | null; + } /** * Configuration for customer defined Model Armor templates to be used for sanitizing user prompts and LLM responses. */ @@ -15325,6 +15593,49 @@ export namespace discoveryengine_v1beta { */ type?: string | null; } + /** + * Associates `members`, or principals, with a `role`. + */ + export interface Schema$GoogleIamV1Binding { + /** + * 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$GoogleTypeExpr; + /** + * 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; + } + /** + * 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$GoogleIamV1Policy { + /** + * 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$GoogleIamV1Binding[]; + /** + * `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; + } + /** + * Request message for `SetIamPolicy` method. + */ + export interface Schema$GoogleIamV1SetIamPolicyRequest { + /** + * 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$GoogleIamV1Policy; + } /** * The request message for Operations.CancelOperation. */ @@ -15538,6 +15849,27 @@ export namespace discoveryengine_v1beta { */ year?: number | null; } + /** + * 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$GoogleTypeExpr { + /** + * 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; + } /** * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). */ @@ -27436,6 +27768,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -27656,6 +27989,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -33484,7 +33818,7 @@ export namespace discoveryengine_v1beta { } /** - * Creates a Engine. + * Creates an Engine. * @example * ```js * // Before running the sample: @@ -33534,6 +33868,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -33665,7 +34000,7 @@ export namespace discoveryengine_v1beta { } /** - * Deletes a Engine. + * Deletes an Engine. * @example * ```js * // Before running the sample: @@ -33813,7 +34148,7 @@ export namespace discoveryengine_v1beta { } /** - * Gets a Engine. + * Gets an Engine. * @example * ```js * // Before running the sample: @@ -33859,6 +34194,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -33980,6 +34316,156 @@ export namespace discoveryengine_v1beta { } } + /** + * Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists all the Engines associated with the project. * @example @@ -34192,6 +34678,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -34219,6 +34706,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -34341,7 +34829,7 @@ export namespace discoveryengine_v1beta { } /** - * Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -34394,6 +34882,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -34519,7 +35008,7 @@ export namespace discoveryengine_v1beta { } /** - * Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -34572,6 +35061,7 @@ export namespace discoveryengine_v1beta { * // "cmekConfig": {}, * // "commonConfig": {}, * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "connectorTenantInfo": {}, * // "createTime": "my_createTime", * // "dataStoreIds": [], * // "disableAnalytics": false, @@ -34697,7 +35187,163 @@ export namespace discoveryengine_v1beta { } /** - * Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + * Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.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/discoveryengine.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.engines.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/collections/my-collection/engines/my-engine', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "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$Collections$Engines$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+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); + } + } + + /** + * Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION. * @example * ```js * // Before running the sample: @@ -34882,6 +35528,16 @@ export namespace discoveryengine_v1beta { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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$Collections$Engines$List extends StandardParameters { /** * Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH @@ -34937,6 +35593,17 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaResumeEngineRequest; } + export interface Params$Resource$Projects$Locations$Collections$Engines$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$Collections$Engines$Tune extends StandardParameters { /** * Required. The resource name of the engine to tune. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}` @@ -40177,6 +40844,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -40397,6 +41065,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -50917,6 +51586,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -51136,6 +51806,7 @@ export namespace discoveryengine_v1beta { * // "imageQuery": {}, * // "languageCode": "my_languageCode", * // "naturalLanguageQueryUnderstandingSpec": {}, + * // "numResultsPerDataStore": 0, * // "offset": 0, * // "oneBoxPageSize": 0, * // "orderBy": "my_orderBy", @@ -58493,6 +59164,8 @@ export namespace discoveryengine_v1beta { * // request body parameters * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -58510,6 +59183,8 @@ export namespace discoveryengine_v1beta { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -58670,6 +59345,8 @@ export namespace discoveryengine_v1beta { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -58829,6 +59506,8 @@ export namespace discoveryengine_v1beta { * // request body parameters * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, @@ -58846,6 +59525,8 @@ export namespace discoveryengine_v1beta { * // Example response * // { * // "autoRenew": false, + * // "earlyTerminated": false, + * // "earlyTerminationDate": {}, * // "endDate": {}, * // "freeTrial": false, * // "geminiBundle": false, diff --git a/src/apis/displayvideo/v2.ts b/src/apis/displayvideo/v2.ts index f0314aaead2..fbac0188096 100644 --- a/src/apis/displayvideo/v2.ts +++ b/src/apis/displayvideo/v2.ts @@ -2911,15 +2911,15 @@ export namespace displayvideo_v2 { */ export interface Schema$ImageAsset { /** - * File size of the image asset in bytes. + * Output only. File size of the image asset in bytes. */ fileSize?: string | null; /** - * Metadata for this image at its original size. + * Output only. Metadata for this image at its original size. */ fullSize?: Schema$Dimensions; /** - * MIME type of the image asset. + * Output only. MIME type of the image asset. */ mimeType?: string | null; } @@ -5835,13 +5835,17 @@ export namespace displayvideo_v2 { */ export interface Schema$YoutubeVideoDetails { /** - * The YouTube video ID which can be searched on YouTube webpage. + * Output only. The YouTube video ID which can be searched on YouTube webpage. */ id?: string | null; /** * The reason why the video data is not available. */ unavailableReason?: string | null; + /** + * Required. The YouTube video asset id. This is ad_asset.ad_asset_id. + */ + videoAssetId?: string | null; } export class Resource$Advertisers { diff --git a/src/apis/displayvideo/v3.ts b/src/apis/displayvideo/v3.ts index 6c91034635e..98d961bb866 100644 --- a/src/apis/displayvideo/v3.ts +++ b/src/apis/displayvideo/v3.ts @@ -187,43 +187,43 @@ export namespace displayvideo_v3 { */ export interface Schema$AdGroup { /** - * The format of the ads in the ad group. + * Required. The format of the ads in the ad group. */ adGroupFormat?: string | null; /** - * The unique ID of the ad group. Assigned by the system. + * Output only. The unique ID of the ad group. Assigned by the system. */ adGroupId?: string | null; /** - * The unique ID of the advertiser the ad group belongs to. + * Output only. The unique ID of the advertiser the ad group belongs to. */ advertiserId?: string | null; /** - * The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy. + * Optional. The bidding strategy used by the ad group. Only the youtubeAndPartnersBid and demandGenBid field can be used in the bidding strategy. */ bidStrategy?: Schema$BiddingStrategy; /** - * The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes. + * Required. The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes. */ displayName?: string | null; /** - * Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`. + * Required. Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`. */ entityStatus?: string | null; /** - * The unique ID of the line item that the ad group belongs to. + * Required. The unique ID of the line item that the ad group belongs to. */ lineItemId?: string | null; /** - * The resource name of the ad group. + * Output only. Identifier. The resource name of the ad group. */ name?: string | null; /** - * The settings of the product feed in this ad group. + * Optional. The settings of the product feed in this ad group. */ productFeedData?: Schema$ProductFeedData; /** - * The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group. + * Optional. The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group. */ targetingExpansion?: Schema$TargetingExpansionConfig; } @@ -236,7 +236,7 @@ export namespace displayvideo_v3 { */ adGroupAdId?: string | null; /** - * The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field. + * Required. The unique ID of the ad group that the ad belongs to. */ adGroupId?: string | null; /** @@ -244,7 +244,7 @@ export namespace displayvideo_v3 { */ adPolicy?: Schema$AdPolicy; /** - * List of URLs used by the ad. + * Output only. List of URLs used by the ad. */ adUrls?: Schema$AdUrl[]; /** @@ -252,31 +252,31 @@ export namespace displayvideo_v3 { */ advertiserId?: string | null; /** - * Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. + * Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. */ audioAd?: Schema$AudioAd; /** - * Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. + * Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. */ bumperAd?: Schema$BumperAd; /** - * The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. + * Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. */ displayName?: string | null; /** - * Details of an ad sourced from a Display & Video 360 creative. + * Output only. Details of an ad sourced from a Display & Video 360 creative. */ displayVideoSourceAd?: Schema$DisplayVideoSourceAd; /** - * The entity status of the ad. + * Required. The entity status of the ad. */ entityStatus?: string | null; /** - * Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. + * Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. */ inStreamAd?: Schema$InStreamAd; /** - * Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). + * Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). */ mastheadAd?: Schema$MastheadAd; /** @@ -284,15 +284,15 @@ export namespace displayvideo_v3 { */ name?: string | null; /** - * Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. + * Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. */ nonSkippableAd?: Schema$NonSkippableAd; /** - * Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. + * Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. */ videoDiscoverAd?: Schema$VideoDiscoveryAd; /** - * Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. + * Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. */ videoPerformanceAd?: Schema$VideoPerformanceAd; } @@ -3950,15 +3950,15 @@ export namespace displayvideo_v3 { */ export interface Schema$ImageAsset { /** - * File size of the image asset in bytes. + * Output only. File size of the image asset in bytes. */ fileSize?: string | null; /** - * Metadata for this image at its original size. + * Output only. Metadata for this image at its original size. */ fullSize?: Schema$Dimensions; /** - * MIME type of the image asset. + * Output only. MIME type of the image asset. */ mimeType?: string | null; } @@ -6779,13 +6779,17 @@ export namespace displayvideo_v3 { */ export interface Schema$YoutubeVideoDetails { /** - * The YouTube video ID which can be searched on YouTube webpage. + * Output only. The YouTube video ID which can be searched on YouTube webpage. */ id?: string | null; /** * The reason why the video data is not available. */ unavailableReason?: string | null; + /** + * Required. The YouTube video asset id. This is ad_asset.ad_asset_id. + */ + videoAssetId?: string | null; } export class Resource$Advertisers { diff --git a/src/apis/displayvideo/v4.ts b/src/apis/displayvideo/v4.ts index 36a1d3bff9a..afe13f88070 100644 --- a/src/apis/displayvideo/v4.ts +++ b/src/apis/displayvideo/v4.ts @@ -214,43 +214,43 @@ export namespace displayvideo_v4 { */ export interface Schema$AdGroup { /** - * The format of the ads in the ad group. + * Required. The format of the ads in the ad group. */ adGroupFormat?: string | null; /** - * The unique ID of the ad group. Assigned by the system. + * Output only. The unique ID of the ad group. Assigned by the system. */ adGroupId?: string | null; /** - * The unique ID of the advertiser the ad group belongs to. + * Output only. The unique ID of the advertiser the ad group belongs to. */ advertiserId?: string | null; /** - * The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy. + * Optional. The bidding strategy used by the ad group. Only the youtubeAndPartnersBid and demandGenBid field can be used in the bidding strategy. */ bidStrategy?: Schema$BiddingStrategy; /** - * The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes. + * Required. The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes. */ displayName?: string | null; /** - * Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`. + * Required. Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`. */ entityStatus?: string | null; /** - * The unique ID of the line item that the ad group belongs to. + * Required. The unique ID of the line item that the ad group belongs to. */ lineItemId?: string | null; /** - * The resource name of the ad group. + * Output only. Identifier. The resource name of the ad group. */ name?: string | null; /** - * The settings of the product feed in this ad group. + * Optional. The settings of the product feed in this ad group. */ productFeedData?: Schema$ProductFeedData; /** - * The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group. + * Optional. The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group. */ targetingExpansion?: Schema$TargetingExpansionConfig; } @@ -263,7 +263,7 @@ export namespace displayvideo_v4 { */ adGroupAdId?: string | null; /** - * The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field. + * Required. The unique ID of the ad group that the ad belongs to. */ adGroupId?: string | null; /** @@ -271,7 +271,7 @@ export namespace displayvideo_v4 { */ adPolicy?: Schema$AdPolicy; /** - * List of URLs used by the ad. + * Output only. List of URLs used by the ad. */ adUrls?: Schema$AdUrl[]; /** @@ -279,31 +279,31 @@ export namespace displayvideo_v4 { */ advertiserId?: string | null; /** - * Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. + * Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. */ audioAd?: Schema$AudioAd; /** - * Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. + * Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. */ bumperAd?: Schema$BumperAd; /** - * The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. + * Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. */ displayName?: string | null; /** - * Details of an ad sourced from a Display & Video 360 creative. + * Output only. Details of an ad sourced from a Display & Video 360 creative. */ displayVideoSourceAd?: Schema$DisplayVideoSourceAd; /** - * The entity status of the ad. + * Required. The entity status of the ad. */ entityStatus?: string | null; /** - * Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. + * Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. */ inStreamAd?: Schema$InStreamAd; /** - * Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). + * Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). */ mastheadAd?: Schema$MastheadAd; /** @@ -311,15 +311,15 @@ export namespace displayvideo_v4 { */ name?: string | null; /** - * Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. + * Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. */ nonSkippableAd?: Schema$NonSkippableAd; /** - * Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. + * Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. */ videoDiscoverAd?: Schema$VideoDiscoveryAd; /** - * Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. + * Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. */ videoPerformanceAd?: Schema$VideoPerformanceAd; } @@ -4053,15 +4053,15 @@ export namespace displayvideo_v4 { */ export interface Schema$ImageAsset { /** - * File size of the image asset in bytes. + * Output only. File size of the image asset in bytes. */ fileSize?: string | null; /** - * Metadata for this image at its original size. + * Output only. Metadata for this image at its original size. */ fullSize?: Schema$Dimensions; /** - * MIME type of the image asset. + * Output only. MIME type of the image asset. */ mimeType?: string | null; } @@ -7057,13 +7057,17 @@ export namespace displayvideo_v4 { */ export interface Schema$YoutubeVideoDetails { /** - * The YouTube video ID which can be searched on YouTube webpage. + * Output only. The YouTube video ID which can be searched on YouTube webpage. */ id?: string | null; /** * The reason why the video data is not available. */ unavailableReason?: string | null; + /** + * Required. The YouTube video asset id. This is ad_asset.ad_asset_id. + */ + videoAssetId?: string | null; } export class Resource$Advertisers { diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index 061b8662942..9f30f44e640 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -1242,7 +1242,7 @@ export namespace dlp_v2 { */ export interface Schema$GooglePrivacyDlpV2CustomInfoType { /** - * Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type` CustomInfoType. + * Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type`, `metadata_key_value_expression`, and `prompt` CustomInfoType. */ detectionRules?: Schema$GooglePrivacyDlpV2DetectionRule[]; /** @@ -1250,7 +1250,7 @@ export namespace dlp_v2 { */ dictionary?: Schema$GooglePrivacyDlpV2Dictionary; /** - * If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. + * If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Not supported for the `metadata_key_value_expression` and `prompt` CustomInfoType. */ exclusionType?: string | null; /** diff --git a/src/apis/documentai/v1.ts b/src/apis/documentai/v1.ts index 60ac6a27181..35634d3f654 100644 --- a/src/apis/documentai/v1.ts +++ b/src/apis/documentai/v1.ts @@ -138,7 +138,7 @@ export namespace documentai_v1 { export interface Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule { childAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule; /** - * Description of the validation rule. This has no use but for documentation + * Description of the validation rule. This has no use but for documentation. */ description?: string | null; entityAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleEntityAlignmentRule; @@ -517,7 +517,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -554,11 +554,11 @@ export namespace documentai_v1 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiUiv1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -625,7 +625,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -694,7 +694,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -1137,11 +1137,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -1287,7 +1287,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1717,10 +1717,6 @@ export namespace documentai_v1 { * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; - /** - * Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search. - */ - spannerIndexingConfig?: Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig; /** * Required. State of the dataset. Ignored when updating dataset. */ @@ -1752,10 +1748,6 @@ export namespace documentai_v1 { */ gcsPrefix?: Schema$GoogleCloudDocumentaiV1beta3GcsPrefix; } - /** - * Configuration specific to spanner-based indexing. - */ - export interface Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig {} /** * Configuration specific to an unmanaged dataset. */ @@ -1852,7 +1844,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1889,11 +1881,11 @@ export namespace documentai_v1 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiV1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -1960,7 +1952,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -2009,7 +2001,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -2353,11 +2345,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -2653,7 +2645,7 @@ export namespace documentai_v1 { */ entities?: Schema$GoogleCloudDocumentaiV1DocumentEntity[]; /** - * The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. + * The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. */ entitiesRevisionId?: string | null; /** @@ -2953,7 +2945,7 @@ export namespace documentai_v1 { */ mentionId?: string | null; /** - * Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + * Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`. */ mentionText?: string | null; /** @@ -2961,7 +2953,7 @@ export namespace documentai_v1 { */ method?: string | null; /** - * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types. + * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types. */ normalizedValue?: Schema$GoogleCloudDocumentaiV1DocumentEntityNormalizedValue; /** @@ -2985,7 +2977,7 @@ export namespace documentai_v1 { */ textAnchor?: Schema$GoogleCloudDocumentaiV1DocumentTextAnchor; /** - * Required. Entity type from a schema e.g. `Address`. + * Required. Entity type from a schema, for example, `Address`. */ type?: string | null; } @@ -3193,7 +3185,7 @@ export namespace documentai_v1 { */ transforms?: Schema$GoogleCloudDocumentaiV1DocumentPageMatrix[]; /** - * A list of detected non-text visual elements e.g. checkbox, signature etc. on the page. + * A list of detected non-text visual elements, for example, checkbox, signature etc. on the page. */ visualElements?: Schema$GoogleCloudDocumentaiV1DocumentPageVisualElement[]; } @@ -3304,7 +3296,7 @@ export namespace documentai_v1 { */ correctedValueText?: string | null; /** - * Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc. + * Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc. */ fieldName?: Schema$GoogleCloudDocumentaiV1DocumentPageLayout; /** @@ -3384,7 +3376,7 @@ export namespace documentai_v1 { */ boundingPoly?: Schema$GoogleCloudDocumentaiV1BoundingPoly; /** - * Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. + * Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. */ confidence?: number | null; /** @@ -3619,7 +3611,7 @@ export namespace documentai_v1 { underlined?: boolean | null; } /** - * Detected non-text visual elements e.g. checkbox, signature etc. on the page. + * Detected non-text visual elements, for example, checkbox, signature etc. on the page. */ export interface Schema$GoogleCloudDocumentaiV1DocumentPageVisualElement { /** @@ -3711,7 +3703,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1DocumentRevisionHumanReview { /** - * Human review state. e.g. `requested`, `succeeded`, `rejected`. + * Human review state. For example, `requested`, `succeeded`, `rejected`. */ state?: string | null; /** @@ -3737,7 +3729,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -3766,11 +3758,11 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -3829,7 +3821,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -4023,6 +4015,10 @@ export namespace documentai_v1 { * The resource name of the evaluation. Format: `projects/{project\}/locations/{location\}/processors/{processor\}/processorVersions/{processor_version\}/evaluations/{evaluation\}` */ name?: string | null; + /** + * Contains all revisions of the evaluation, excluding the latest one. + */ + revisions?: Schema$GoogleCloudDocumentaiV1EvaluationEvaluationRevision[]; } /** * Evaluations metrics, at a specific confidence level. @@ -4058,12 +4054,37 @@ export namespace documentai_v1 { */ invalidDocumentsCount?: number | null; } + /** + * A revision of the evaluation. + */ + export interface Schema$GoogleCloudDocumentaiV1EvaluationEvaluationRevision { + /** + * Output only. Metrics for all the entities in aggregate. + */ + allEntitiesMetrics?: Schema$GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics; + /** + * Output only. Counters for the documents used in the evaluation. + */ + documentCounters?: Schema$GoogleCloudDocumentaiV1EvaluationCounters; + /** + * Output only. Metrics across confidence levels, for different entities. + */ + entityMetrics?: { + [ + key: string + ]: Schema$GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics; + } | null; + /** + * Output only. The revision ID of the evaluation. + */ + revisionId?: string | null; + } /** * Evaluation metrics, either in aggregate or about a specific entity. */ export interface Schema$GoogleCloudDocumentaiV1EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -4360,7 +4381,7 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * Optional. The GCP labels for the Schema. + * Optional. The {{gcp_name_short\}\} labels for the Schema. */ labels?: {[key: string]: string} | null; /** @@ -4737,11 +4758,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -4911,7 +4932,7 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * Optional. The GCP labels for the SchemaVersion. + * Optional. The {{gcp_name_short\}\} labels for the SchemaVersion. */ labels?: {[key: string]: string} | null; /** @@ -5813,7 +5834,7 @@ export namespace documentai_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -9728,7 +9749,8 @@ export namespace documentai_v1 { * // "entityMetrics": {}, * // "kmsKeyName": "my_kmsKeyName", * // "kmsKeyVersionName": "my_kmsKeyVersionName", - * // "name": "my_name" + * // "name": "my_name", + * // "revisions": [] * // } * } * @@ -10841,7 +10863,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.list({ * // Optional. The maximum number of schema groups to return. If unspecified, at most `10` Schema will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * // Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}` * parent: 'projects/my-project/locations/my-location', @@ -10993,7 +11015,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.patch({ * // Identifier. The resource name of the Schema. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -11156,7 +11178,7 @@ export namespace documentai_v1 { */ pageSize?: number; /** - * Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. */ pageToken?: string; /** @@ -11170,7 +11192,7 @@ export namespace documentai_v1 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; @@ -11841,7 +11863,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.schemaVersions.list({ * // Optional. The maximum number of SchemaVersion to return. If unspecified, at most `10` SchemaVersion will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * // Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * parent: 'projects/my-project/locations/my-location/schemas/my-schema', @@ -11994,7 +12016,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.schemaVersions.patch({ * // Identifier. The resource name of the SchemaVersion. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}/schemaVersions/{schema_version\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema/schemaVersions/my-schemaVersion', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -12165,7 +12187,7 @@ export namespace documentai_v1 { */ pageSize?: number; /** - * Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. */ pageToken?: string; /** @@ -12179,7 +12201,7 @@ export namespace documentai_v1 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; diff --git a/src/apis/documentai/v1beta3.ts b/src/apis/documentai/v1beta3.ts index 7472518cdd2..fb4e76adedd 100644 --- a/src/apis/documentai/v1beta3.ts +++ b/src/apis/documentai/v1beta3.ts @@ -136,7 +136,7 @@ export namespace documentai_v1beta3 { export interface Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule { childAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule; /** - * Description of the validation rule. This has no use but for documentation + * Description of the validation rule. This has no use but for documentation. */ description?: string | null; entityAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleEntityAlignmentRule; @@ -515,7 +515,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -552,11 +552,11 @@ export namespace documentai_v1beta3 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiUiv1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -623,7 +623,7 @@ export namespace documentai_v1beta3 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -692,7 +692,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -1135,11 +1135,11 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -1285,7 +1285,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1786,10 +1786,6 @@ export namespace documentai_v1beta3 { * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; - /** - * Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search. - */ - spannerIndexingConfig?: Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig; /** * Required. State of the dataset. Ignored when updating dataset. */ @@ -1842,10 +1838,6 @@ export namespace documentai_v1beta3 { */ satisfiesPzs?: boolean | null; } - /** - * Configuration specific to spanner-based indexing. - */ - export interface Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig {} /** * Configuration specific to an unmanaged dataset. */ @@ -1907,7 +1899,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3Document { /** - * Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id. + * Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset id. */ blobAssets?: Schema$GoogleCloudDocumentaiV1beta3DocumentBlobAsset[]; /** @@ -1931,7 +1923,7 @@ export namespace documentai_v1beta3 { */ entities?: Schema$GoogleCloudDocumentaiV1beta3DocumentEntity[]; /** - * The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. + * The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. */ entitiesRevisionId?: string | null; /** @@ -1993,7 +1985,7 @@ export namespace documentai_v1beta3 { description?: string | null; } /** - * Represents a blob asset. It's used to store the content of the inline blob in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id. + * Represents a blob asset. It's used to store the content of the inline blob in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset ID. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentBlobAsset { /** @@ -2001,7 +1993,7 @@ export namespace documentai_v1beta3 { */ assetId?: string | null; /** - * Optional. The content of the blob asset, e.g. image bytes. + * Optional. The content of the blob asset, for example, image bytes. */ content?: string | null; /** @@ -2052,7 +2044,7 @@ export namespace documentai_v1beta3 { sourceBlockIds?: string[] | null; } /** - * The chunk field in the chunk. A chunk field could be one of the various types (e.g. image, table) supported. + * The chunk field in the chunk. A chunk field could be one of the various types (for example, image, table) supported. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField { /** @@ -2345,7 +2337,7 @@ export namespace documentai_v1beta3 { */ mentionId?: string | null; /** - * Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + * Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`. */ mentionText?: string | null; /** @@ -2353,7 +2345,7 @@ export namespace documentai_v1beta3 { */ method?: string | null; /** - * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types. + * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types. */ normalizedValue?: Schema$GoogleCloudDocumentaiV1beta3DocumentEntityNormalizedValue; /** @@ -2377,7 +2369,7 @@ export namespace documentai_v1beta3 { */ textAnchor?: Schema$GoogleCloudDocumentaiV1beta3DocumentTextAnchor; /** - * Required. Entity type from a schema e.g. `Address`. + * Required. Entity type from a schema, for example, `Address`. */ type?: string | null; } @@ -2649,7 +2641,7 @@ export namespace documentai_v1beta3 { */ transforms?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageMatrix[]; /** - * A list of detected non-text visual elements e.g. checkbox, signature etc. on the page. + * A list of detected non-text visual elements, for example, checkbox, signature etc. on the page. */ visualElements?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageVisualElement[]; } @@ -2760,7 +2752,7 @@ export namespace documentai_v1beta3 { */ correctedValueText?: string | null; /** - * Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc. + * Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc. */ fieldName?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageLayout; /** @@ -2840,7 +2832,7 @@ export namespace documentai_v1beta3 { */ boundingPoly?: Schema$GoogleCloudDocumentaiV1beta3BoundingPoly; /** - * Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. + * Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. */ confidence?: number | null; /** @@ -3075,7 +3067,7 @@ export namespace documentai_v1beta3 { underlined?: boolean | null; } /** - * Detected non-text visual elements e.g. checkbox, signature etc. on the page. + * Detected non-text visual elements, for example, checkbox, signature etc. on the page. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentPageVisualElement { /** @@ -3167,7 +3159,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentRevisionHumanReview { /** - * Human review state. e.g. `requested`, `succeeded`, `rejected`. + * Human review state. For example, `requested`, `succeeded`, `rejected`. */ state?: string | null; /** @@ -3193,7 +3185,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -3230,11 +3222,11 @@ export namespace documentai_v1beta3 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiV1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -3301,7 +3293,7 @@ export namespace documentai_v1beta3 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -3504,6 +3496,10 @@ export namespace documentai_v1beta3 { * The resource name of the evaluation. Format: `projects/{project\}/locations/{location\}/processors/{processor\}/processorVersions/{processor_version\}/evaluations/{evaluation\}` */ name?: string | null; + /** + * Contains all revisions of the evaluation, excluding the latest one. + */ + revisions?: Schema$GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision[]; } /** * Evaluations metrics, at a specific confidence level. @@ -3539,12 +3535,37 @@ export namespace documentai_v1beta3 { */ invalidDocumentsCount?: number | null; } + /** + * A revision of the evaluation. + */ + export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision { + /** + * Output only. Metrics for all the entities in aggregate. + */ + allEntitiesMetrics?: Schema$GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics; + /** + * Output only. Counters for the documents used in the evaluation. + */ + documentCounters?: Schema$GoogleCloudDocumentaiV1beta3EvaluationCounters; + /** + * Output only. Metrics across confidence levels, for different entities. + */ + entityMetrics?: { + [ + key: string + ]: Schema$GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics; + } | null; + /** + * Output only. The revision ID of the evaluation. + */ + revisionId?: string | null; + } /** * Evaluation metrics, either in aggregate or about a specific entity. */ export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -4024,7 +4045,7 @@ export namespace documentai_v1beta3 { */ displayName?: string | null; /** - * Optional. The GCP labels for the Schema. + * Optional. The {{gcp_name_short\}\} labels for the Schema. */ labels?: {[key: string]: string} | null; /** @@ -4192,7 +4213,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig { /** - * Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. THIS FIELD IS NOT YET USED. + * Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. **Note:** This field is not yet used. */ breakpointPercentileThreshold?: number | null; /** @@ -4204,7 +4225,7 @@ export namespace documentai_v1beta3 { */ includeAncestorHeadings?: boolean | null; /** - * Optional. The number of tokens to group together when evaluating semantic similarity. THIS FIELD IS NOT YET USED. + * Optional. The number of tokens to group together when evaluating semantic similarity. **Note:** This field is not yet used. */ semanticChunkingGroupSize?: boolean | null; } @@ -4421,11 +4442,11 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -4653,7 +4674,7 @@ export namespace documentai_v1beta3 { */ displayName?: string | null; /** - * Optional. The GCP labels for the SchemaVersion. + * Optional. The {{gcp_name_short\}\} labels for the SchemaVersion. */ labels?: {[key: string]: string} | null; /** @@ -5655,7 +5676,7 @@ export namespace documentai_v1beta3 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -7792,7 +7813,6 @@ export namespace documentai_v1beta3 { * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, - * // "spannerIndexingConfig": {}, * // "state": "my_state", * // "unmanagedDatasetConfig": {} * // } @@ -11002,7 +11022,8 @@ export namespace documentai_v1beta3 { * // "entityMetrics": {}, * // "kmsKeyName": "my_kmsKeyName", * // "kmsKeyVersionName": "my_kmsKeyVersionName", - * // "name": "my_name" + * // "name": "my_name", + * // "revisions": [] * // } * } * @@ -12115,7 +12136,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.list({ * // Optional. The maximum number of schema groups to return. If unspecified, at most `10` Schema will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * // Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}` * parent: 'projects/my-project/locations/my-location', @@ -12267,7 +12288,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.patch({ * // Identifier. The resource name of the Schema. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -12430,7 +12451,7 @@ export namespace documentai_v1beta3 { */ pageSize?: number; /** - * Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. */ pageToken?: string; /** @@ -12444,7 +12465,7 @@ export namespace documentai_v1beta3 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; @@ -13114,7 +13135,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.schemaVersions.list({ * // Optional. The maximum number of SchemaVersion to return. If unspecified, at most `10` SchemaVersion will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * // Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * parent: 'projects/my-project/locations/my-location/schemas/my-schema', @@ -13267,7 +13288,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.schemaVersions.patch({ * // Identifier. The resource name of the SchemaVersion. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}/schemaVersions/{schema_version\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema/schemaVersions/my-schemaVersion', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -13438,7 +13459,7 @@ export namespace documentai_v1beta3 { */ pageSize?: number; /** - * Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. */ pageToken?: string; /** @@ -13452,7 +13473,7 @@ export namespace documentai_v1beta3 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; diff --git a/src/apis/domains/v1.ts b/src/apis/domains/v1.ts index c51b188923e..ed7454a2e16 100644 --- a/src/apis/domains/v1.ts +++ b/src/apis/domains/v1.ts @@ -533,6 +533,10 @@ export namespace domains_v1 { * 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 for the `ListRegistrations` method. @@ -1318,7 +1322,7 @@ export namespace domains_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1348,7 +1352,7 @@ export namespace domains_v1 { * * // Do the magic * const res = await domains.projects.locations.list({ - * // Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * // Optional. Do not use this field. It is unsupported and is ignored 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', @@ -1474,7 +1478,7 @@ export namespace domains_v1 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** @@ -1678,13 +1682,16 @@ export namespace domains_v1 { * 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 * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -1809,6 +1816,10 @@ export namespace domains_v1 { * 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$Projects$Locations$Registrations { diff --git a/src/apis/domains/v1alpha2.ts b/src/apis/domains/v1alpha2.ts index 9441c60f462..bfa8f6a9f34 100644 --- a/src/apis/domains/v1alpha2.ts +++ b/src/apis/domains/v1alpha2.ts @@ -533,6 +533,10 @@ export namespace domains_v1alpha2 { * 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 for the `ListRegistrations` method. @@ -1322,7 +1326,7 @@ export namespace domains_v1alpha2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1352,7 +1356,7 @@ export namespace domains_v1alpha2 { * * // Do the magic * const res = await domains.projects.locations.list({ - * // Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * // Optional. Do not use this field. It is unsupported and is ignored 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', @@ -1478,7 +1482,7 @@ export namespace domains_v1alpha2 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** @@ -1682,13 +1686,16 @@ export namespace domains_v1alpha2 { * 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 * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -1813,6 +1820,10 @@ export namespace domains_v1alpha2 { * 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$Projects$Locations$Registrations { diff --git a/src/apis/domains/v1beta1.ts b/src/apis/domains/v1beta1.ts index d8d4ead34c0..56a004fc2d4 100644 --- a/src/apis/domains/v1beta1.ts +++ b/src/apis/domains/v1beta1.ts @@ -533,6 +533,10 @@ export namespace domains_v1beta1 { * 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 for the `ListRegistrations` method. @@ -1318,7 +1322,7 @@ export namespace domains_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1348,7 +1352,7 @@ export namespace domains_v1beta1 { * * // Do the magic * const res = await domains.projects.locations.list({ - * // Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * // Optional. Do not use this field. It is unsupported and is ignored 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', @@ -1474,7 +1478,7 @@ export namespace domains_v1beta1 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** @@ -1678,13 +1682,16 @@ export namespace domains_v1beta1 { * 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 * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -1809,6 +1816,10 @@ export namespace domains_v1beta1 { * 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$Projects$Locations$Registrations { diff --git a/src/apis/file/v1.ts b/src/apis/file/v1.ts index e57ce524102..50ea58403c0 100644 --- a/src/apis/file/v1.ts +++ b/src/apis/file/v1.ts @@ -1308,7 +1308,7 @@ export namespace file_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/file/v1beta1.ts b/src/apis/file/v1beta1.ts index e1c2541bc27..5c35958b1d7 100644 --- a/src/apis/file/v1beta1.ts +++ b/src/apis/file/v1beta1.ts @@ -1407,7 +1407,7 @@ export namespace file_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/firebaseappcheck/v1.ts b/src/apis/firebaseappcheck/v1.ts index 825ffab52e0..c16262628f7 100644 --- a/src/apis/firebaseappcheck/v1.ts +++ b/src/apis/firebaseappcheck/v1.ts @@ -663,7 +663,7 @@ export namespace firebaseappcheck_v1 { */ export interface Schema$GoogleFirebaseAppcheckV1ResourcePolicy { /** - * Required. The App Check enforcement mode for this resource. This will override the EnforcementMode setting on the service. + * Required. The App Check enforcement mode for this resource. This will override the App Check overall EnforcementMode setting on the service. */ enforcementMode?: string | null; /** diff --git a/src/apis/firebasedataconnect/v1.ts b/src/apis/firebasedataconnect/v1.ts index dbff7f7fb0f..d15d535eb88 100644 --- a/src/apis/firebasedataconnect/v1.ts +++ b/src/apis/firebasedataconnect/v1.ts @@ -128,6 +128,19 @@ export namespace firebasedataconnect_v1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Client caching settings of a connector. + */ + export interface Schema$ClientCache { + /** + * Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as "normalized caching", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information. + */ + entityIdIncluded?: boolean | null; + /** + * Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.) + */ + strictValidationEnabled?: boolean | null; + } /** * Settings for CloudSQL instance configuration. */ @@ -145,6 +158,10 @@ export namespace firebasedataconnect_v1 { * Optional. Stores small amounts of arbitrary data. */ annotations?: {[key: string]: string} | null; + /** + * Optional. The client cache settings of the connector. + */ + clientCache?: Schema$ClientCache; /** * Output only. [Output only] Create time stamp. */ @@ -182,6 +199,27 @@ export namespace firebasedataconnect_v1 { */ updateTime?: string | null; } + /** + * Data Connect specific properties for a path under response.data. + */ + export interface Schema$DataConnectProperties { + /** + * A single Entity ID. Set if the path points to a single entity. + */ + entityId?: string | null; + /** + * A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index. + */ + entityIds?: string[] | null; + /** + * The server-suggested duration before data under path is considered stale. + */ + maxAge?: string | null; + /** + * The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`. + */ + path?: any[] | null; + } /** * A data source that backs Firebase Data Connect services. */ @@ -224,6 +262,10 @@ export namespace firebasedataconnect_v1 { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * The ExecuteQuery request to Firebase Data Connect. @@ -250,6 +292,10 @@ export namespace firebasedataconnect_v1 { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * Individual files. @@ -349,9 +395,22 @@ export namespace firebasedataconnect_v1 { */ data?: {[key: string]: any} | null; /** - * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors. + * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors . */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions . + */ + extensions?: Schema$GraphqlResponseExtensions; + } + /** + * GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`. + */ + export interface Schema$GraphqlResponseExtensions { + /** + * Data Connect specific GraphQL extension, a list of paths and properties. + */ + dataConnect?: Schema$DataConnectProperties[]; } /** * Settings for HTTP GraphQL server webhook. @@ -901,7 +960,7 @@ export namespace firebasedataconnect_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2071,7 +2130,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2225,7 +2285,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2522,7 +2583,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3129,6 +3191,7 @@ export namespace firebasedataconnect_v1 { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3452,7 +3515,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3608,7 +3672,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3753,6 +3818,7 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3911,7 +3977,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4066,7 +4133,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4369,6 +4437,7 @@ export namespace firebasedataconnect_v1 { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", diff --git a/src/apis/firebasedataconnect/v1beta.ts b/src/apis/firebasedataconnect/v1beta.ts index 099ac22bfa8..7d5f25278d9 100644 --- a/src/apis/firebasedataconnect/v1beta.ts +++ b/src/apis/firebasedataconnect/v1beta.ts @@ -128,6 +128,19 @@ export namespace firebasedataconnect_v1beta { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Client caching settings of a connector. + */ + export interface Schema$ClientCache { + /** + * Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as "normalized caching", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information. + */ + entityIdIncluded?: boolean | null; + /** + * Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.) + */ + strictValidationEnabled?: boolean | null; + } /** * Settings for CloudSQL instance configuration. */ @@ -145,6 +158,10 @@ export namespace firebasedataconnect_v1beta { * Optional. Stores small amounts of arbitrary data. */ annotations?: {[key: string]: string} | null; + /** + * Optional. The client cache settings of the connector. + */ + clientCache?: Schema$ClientCache; /** * Output only. [Output only] Create time stamp. */ @@ -182,6 +199,27 @@ export namespace firebasedataconnect_v1beta { */ updateTime?: string | null; } + /** + * Data Connect specific properties for a path under response.data. + */ + export interface Schema$DataConnectProperties { + /** + * A single Entity ID. Set if the path points to a single entity. + */ + entityId?: string | null; + /** + * A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index. + */ + entityIds?: string[] | null; + /** + * The server-suggested duration before data under path is considered stale. + */ + maxAge?: string | null; + /** + * The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`. + */ + path?: any[] | null; + } /** * A data source that backs Firebase Data Connect services. */ @@ -224,6 +262,10 @@ export namespace firebasedataconnect_v1beta { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * The ExecuteQuery request to Firebase Data Connect. @@ -250,6 +292,10 @@ export namespace firebasedataconnect_v1beta { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * Individual files. @@ -349,9 +395,22 @@ export namespace firebasedataconnect_v1beta { */ data?: {[key: string]: any} | null; /** - * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors. + * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors . */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions . + */ + extensions?: Schema$GraphqlResponseExtensions; + } + /** + * GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`. + */ + export interface Schema$GraphqlResponseExtensions { + /** + * Data Connect specific GraphQL extension, a list of paths and properties. + */ + dataConnect?: Schema$DataConnectProperties[]; } /** * Settings for HTTP GraphQL server webhook. @@ -901,7 +960,7 @@ export namespace firebasedataconnect_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2074,7 +2133,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2228,7 +2288,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2525,7 +2586,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3132,6 +3194,7 @@ export namespace firebasedataconnect_v1beta { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3455,7 +3518,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3611,7 +3675,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3756,6 +3821,7 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3914,7 +3980,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4069,7 +4136,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4372,6 +4440,7 @@ export namespace firebasedataconnect_v1beta { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", diff --git a/src/apis/firebaseml/v2beta.ts b/src/apis/firebaseml/v2beta.ts index 3b1f77244b0..33c867a54e1 100644 --- a/src/apis/firebaseml/v2beta.ts +++ b/src/apis/firebaseml/v2beta.ts @@ -626,6 +626,10 @@ export namespace firebaseml_v2beta { * 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. @@ -1000,7 +1004,7 @@ export namespace firebaseml_v2beta { web?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkWeb; } /** - * A `Maps` chunk is a piece of evidence that comes from Google Maps. It contains information about a place, such as its name, address, and reviews. This is used to provide the user with rich, location-based information. + * A `Maps` chunk is a piece of evidence that comes from Google Maps, containing information about places or routes. This is used to provide the user with rich, location-based information. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkMaps { /** diff --git a/src/apis/firestore/v1.ts b/src/apis/firestore/v1.ts index 7ecfadffc4f..9542dc6c20b 100644 --- a/src/apis/firestore/v1.ts +++ b/src/apis/firestore/v1.ts @@ -719,7 +719,7 @@ export namespace firestore_v1 { */ expireTime?: string | null; /** - * Output only. The unique resource name of the Backup. Format is `projects/{project\}/locations/{location\}/backups/{backup\}`. + * Output only. The unique resource name of the Backup. Format is `projects/{project\}/locations/{location\}/backups/{backup\}`. The location in the name will be the Standard Managed Multi-Region (SMMR) location (e.g. `us`) if the backup was created with an SMMR location, or the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup was created with a GMMR location. */ name?: string | null; /** @@ -1418,12 +1418,7 @@ export namespace firestore_v1 { /** * The metadata message for google.cloud.location.Location.metadata. */ - export interface Schema$GoogleFirestoreAdminV1LocationMetadata { - /** - * The storage placements available in the location. When the location represents a Standard Managed Multi-Region (SMMR) like "us", this field lists the available Google-Managed Multi-Regions (GMMRs) within it, such as "nam5" or "eur3". - */ - availableStoragePlacements?: string[] | null; - } + export interface Schema$GoogleFirestoreAdminV1LocationMetadata {} /** * A consistent snapshot of a database at a specific point in time. A PITR (Point-in-time recovery) snapshot with previous versions of a database's data is available for every minute up to the associated database's data retention period. If the PITR feature is enabled, the retention period is 7 days; otherwise, it is one hour. */ @@ -1552,7 +1547,7 @@ export namespace firestore_v1 { sizeBytes?: string | null; } /** - * The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document. + * The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. For Enterprise edition databases, the timestamp value may also be stored in an array value in the TTL-enabled field. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document. */ export interface Schema$GoogleFirestoreAdminV1TtlConfig { /** @@ -11169,7 +11164,7 @@ export namespace firestore_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/gmailpostmastertools/index.ts b/src/apis/gmailpostmastertools/index.ts index 42f6842eaab..c15141dfb8c 100644 --- a/src/apis/gmailpostmastertools/index.ts +++ b/src/apis/gmailpostmastertools/index.ts @@ -16,10 +16,12 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {gmailpostmastertools_v1} from './v1'; import {gmailpostmastertools_v1beta1} from './v1beta1'; +import {gmailpostmastertools_v2} from './v2'; export const VERSIONS = { v1: gmailpostmastertools_v1.Gmailpostmastertools, v1beta1: gmailpostmastertools_v1beta1.Gmailpostmastertools, + v2: gmailpostmastertools_v2.Gmailpostmastertools, }; export function gmailpostmastertools( @@ -34,10 +36,17 @@ export function gmailpostmastertools( export function gmailpostmastertools( options: gmailpostmastertools_v1beta1.Options ): gmailpostmastertools_v1beta1.Gmailpostmastertools; +export function gmailpostmastertools( + version: 'v2' +): gmailpostmastertools_v2.Gmailpostmastertools; +export function gmailpostmastertools( + options: gmailpostmastertools_v2.Options +): gmailpostmastertools_v2.Gmailpostmastertools; export function gmailpostmastertools< T = | gmailpostmastertools_v1.Gmailpostmastertools - | gmailpostmastertools_v1beta1.Gmailpostmastertools, + | gmailpostmastertools_v1beta1.Gmailpostmastertools + | gmailpostmastertools_v2.Gmailpostmastertools, >( this: GoogleConfigurable, versionOrOptions: @@ -45,6 +54,8 @@ export function gmailpostmastertools< | gmailpostmastertools_v1.Options | 'v1beta1' | gmailpostmastertools_v1beta1.Options + | 'v2' + | gmailpostmastertools_v2.Options ) { return getAPI('gmailpostmastertools', versionOrOptions, VERSIONS, this); } @@ -53,6 +64,7 @@ const auth = new AuthPlus(); export {auth}; export {gmailpostmastertools_v1}; export {gmailpostmastertools_v1beta1}; +export {gmailpostmastertools_v2}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/gmailpostmastertools/v2.ts b/src/apis/gmailpostmastertools/v2.ts new file mode 100644 index 00000000000..0933a99a76d --- /dev/null +++ b/src/apis/gmailpostmastertools/v2.ts @@ -0,0 +1,1286 @@ +// 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 gmailpostmastertools_v2 { + export interface Options extends GlobalOptions { + version: 'v2'; + } + + 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; + } + + /** + * Gmail Postmaster Tools API + * + * The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * ``` + */ + export class Gmailpostmastertools { + context: APIRequestContext; + domains: Resource$Domains; + domainStats: Resource$Domainstats; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.domains = new Resource$Domains(this.context); + this.domainStats = new Resource$Domainstats(this.context); + } + } + + /** + * Specifies the base metric to query, which can be a predefined standard metric or a user-defined custom metric (if supported in the future). + */ + export interface Schema$BaseMetric { + /** + * A predefined standard metric. + */ + standardMetric?: string | null; + } + /** + * Request message for BatchQueryDomainStats. + */ + export interface Schema$BatchQueryDomainStatsRequest { + /** + * Required. A list of individual query requests. Each request can be for a different domain. A maximum of 100 requests can be included in a single batch. + */ + requests?: Schema$QueryDomainStatsRequest[]; + } + /** + * Response message for BatchQueryDomainStats. + */ + export interface Schema$BatchQueryDomainStatsResponse { + /** + * A list of responses, one for each query in the BatchQueryDomainStatsRequest. The order of responses will correspond to the order of requests. + */ + results?: Schema$BatchQueryDomainStatsResult[]; + } + /** + * Represents the result of a single QueryDomainStatsRequest within a batch. + */ + export interface Schema$BatchQueryDomainStatsResult { + /** + * The error status if the individual query failed. + */ + error?: Schema$Status; + /** + * The successful response for the individual query. + */ + response?: Schema$QueryDomainStatsResponse; + } + /** + * Data for a single row of the compliance status table. + */ + export interface Schema$ComplianceRowData { + /** + * The compliance requirement. + */ + requirement?: string | null; + /** + * The compliance status for the requirement. + */ + status?: Schema$ComplianceStatus; + } + /** + * The status of a sender compliance requirement. + */ + export interface Schema$ComplianceStatus { + /** + * Output only. The compliance status. + */ + status?: 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 + */ + export interface Schema$Date { + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * A set of specific dates. + */ + export interface Schema$DateList { + /** + * Required. The list of specific dates for which to retrieve data. + */ + dates?: Schema$Date[]; + } + /** + * A single date range defined by a start and end date. + */ + export interface Schema$DateRange { + /** + * Required. The inclusive end date of the date range. + */ + end?: Schema$Date; + /** + * Required. The inclusive start date of the date range. + */ + start?: Schema$Date; + } + /** + * A set of date ranges. + */ + export interface Schema$DateRanges { + /** + * Required. The list of date ranges for which to retrieve data. + */ + dateRanges?: Schema$DateRange[]; + } + /** + * Information about a domain registered by the user. + */ + export interface Schema$Domain { + /** + * Output only. Immutable. The timestamp at which the domain was added to the user's account. + */ + createTime?: string | null; + /** + * The timestamp at which the domain was last verified by the user. + */ + lastVerifyTime?: string | null; + /** + * Identifier. The resource name of the domain. Format: `domains/{domain_name\}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com). + */ + name?: string | null; + /** + * Output only. User's permission of this domain. + */ + permission?: string | null; + /** + * Output only. Information about a user's verification history and properties for the domain. + */ + verificationState?: string | null; + } + /** + * Compliance data for a given domain. + */ + export interface Schema$DomainComplianceData { + /** + * Domain that this data is for. + */ + domainId?: string | null; + /** + * Unsubscribe honoring compliance verdict. + */ + honorUnsubscribeVerdict?: Schema$HonorUnsubscribeVerdict; + /** + * One-click unsubscribe compliance verdict. + */ + oneClickUnsubscribeVerdict?: Schema$OneClickUnsubscribeVerdict; + /** + * Data for each of the rows of the table. Each message contains all the data that backs a single row. + */ + rowData?: Schema$ComplianceRowData[]; + } + /** + * Compliance status for a domain. + */ + export interface Schema$DomainComplianceStatus { + /** + * Compliance data for the registrable domain part of the domain in `name`. For example, if `name` is `domains/example.com/complianceStatus`, this field contains compliance data for `example.com`. + */ + complianceData?: Schema$DomainComplianceData; + /** + * Identifier. The resource name of the domain's compliance status. Format: `domains/{domain_id\}/complianceStatus`. + */ + name?: string | null; + /** + * Compliance data calculated specifically for the subdomain in `name`. This field is only populated if the domain in `name` is a subdomain that differs from its registrable domain (e.g., `sub.example.com`), and if compliance data is available for that specific subdomain. + */ + subdomainComplianceData?: Schema$DomainComplianceData; + } + /** + * Email statistics for a domain for a specified time period or date. + */ + export interface Schema$DomainStat { + /** + * Optional. The specific date for these stats, if granularity is DAILY. This field is populated if the QueryDomainStatsRequest specified a DAILY aggregation granularity. + */ + date?: Schema$Date; + /** + * The user-defined name from MetricDefinition.name in the request, used to correlate this result with the requested metric. + */ + metric?: string | null; + /** + * Output only. The resource name of the DomainStat resource. Format: domains/{domain\}/domainStats/{domain_stat\} The `{domain_stat\}` segment is an opaque, server-generated ID. We recommend using the `metric` field to identify queried metrics instead of parsing the name. + */ + name?: string | null; + /** + * The value of the corresponding metric. + */ + value?: Schema$StatisticValue; + } + /** + * Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement. + */ + export interface Schema$HonorUnsubscribeVerdict { + /** + * The specific reason for the compliance verdict. Must be empty if the status is compliant. + */ + reason?: string | null; + /** + * The compliance status. + */ + status?: Schema$ComplianceStatus; + } + /** + * Response message for ListDomains. + */ + export interface Schema$ListDomainsResponse { + /** + * The domains that have been registered by the user. + */ + domains?: Schema$Domain[]; + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + } + /** + * Defines a specific metric to query, including a user-defined name, the base metric type, and optional filters. + */ + export interface Schema$MetricDefinition { + /** + * Required. The underlying metric to query. + */ + baseMetric?: Schema$BaseMetric; + /** + * Optional. Optional filters to apply to the metric. + */ + filter?: string | null; + /** + * Required. The user-defined name for this metric. This name will be used as the key for this metric's value in the response. + */ + name?: string | null; + } + /** + * Compliance verdict for whether a sender meets the one-click unsubscribe compliance requirement. + */ + export interface Schema$OneClickUnsubscribeVerdict { + /** + * The specific reason for the compliance verdict. Must be empty if the status is compliant. + */ + reason?: string | null; + /** + * The compliance status. + */ + status?: Schema$ComplianceStatus; + } + /** + * Request message for QueryDomainStats. + */ + export interface Schema$QueryDomainStatsRequest { + /** + * Optional. The granularity at which to aggregate the statistics. If unspecified, defaults to DAILY. + */ + aggregationGranularity?: string | null; + /** + * Required. The specific metrics to query. You can define a custom name for each metric, which will be used in the response. + */ + metricDefinitions?: Schema$MetricDefinition[]; + /** + * Optional. The maximum number of DomainStats resources to return in the response. The server may return fewer than this value. If unspecified, a default value of 10 will be used. The maximum value is 200. + */ + pageSize?: number | null; + /** + * Optional. The next_page_token value returned from a previous List request, if any. If the aggregation granularity is DAILY, the page token will be the encoded date + "/" + metric name. If the aggregation granularity is OVERALL, the page token will be the encoded metric name. + */ + pageToken?: string | null; + /** + * Required. The parent resource name where the stats are queried. Format: domains/{domain\} + */ + parent?: string | null; + /** + * Required. The time range or specific dates for which to retrieve the metrics. + */ + timeQuery?: Schema$TimeQuery; + } + /** + * Response message for QueryDomainStats. + */ + export interface Schema$QueryDomainStatsResponse { + /** + * The list of domain statistics. Each DomainStat object contains the value for a metric requested in the QueryDomainStatsRequest. + */ + domainStats?: Schema$DomainStat[]; + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + } + /** + * The actual value of a statistic. + */ + export interface Schema$StatisticValue { + /** + * Double value. + */ + doubleValue?: number | null; + /** + * Float value. + */ + floatValue?: number | null; + /** + * Integer value. + */ + intValue?: string | null; + /** + * List of string values. + */ + stringList?: Schema$StringList; + /** + * String value. + */ + stringValue?: 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 list of strings. + */ + export interface Schema$StringList { + /** + * The string values. + */ + values?: string[] | null; + } + /** + * The date ranges or specific dates for which you want to retrieve data. + */ + export interface Schema$TimeQuery { + /** + * A list of specific dates. + */ + dateList?: Schema$DateList; + /** + * A list of date ranges. + */ + dateRanges?: Schema$DateRanges; + } + + export class Resource$Domains { + context: APIRequestContext; + domainStats: Resource$Domains$Domainstats; + constructor(context: APIRequestContext) { + this.context = context; + this.domainStats = new Resource$Domains$Domainstats(this.context); + } + + /** + * Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/gmailpostmastertools.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/postmaster', + * 'https://www.googleapis.com/auth/postmaster.domain', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await gmailpostmastertools.domains.get({ + * // Required. The resource name of the domain. Format: `domains/{domain_name\}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com). + * name: 'domains/my-domain', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "lastVerifyTime": "my_lastVerifyTime", + * // "name": "my_name", + * // "permission": "my_permission", + * // "verificationState": "my_verificationState" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Domains$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Domains$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Domains$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Domains$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Domains$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Domains$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Domains$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Domains$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://gmailpostmastertools.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+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); + } + } + + /** + * Retrieves the compliance status for a given domain. Returns PERMISSION_DENIED if you don't have permission to access compliance status for the domain. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/gmailpostmastertools.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/postmaster', + * 'https://www.googleapis.com/auth/postmaster.traffic.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 gmailpostmastertools.domains.getComplianceStatus({ + * // Required. The resource name of the domain's compliance status to retrieve. Format: `domains/{domain_id\}/complianceStatus`. + * name: 'domains/my-domain/complianceStatus', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "complianceData": {}, + * // "name": "my_name", + * // "subdomainComplianceData": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getComplianceStatus( + params: Params$Resource$Domains$Getcompliancestatus, + options: StreamMethodOptions + ): Promise>; + getComplianceStatus( + params?: Params$Resource$Domains$Getcompliancestatus, + options?: MethodOptions + ): Promise>; + getComplianceStatus( + params: Params$Resource$Domains$Getcompliancestatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getComplianceStatus( + params: Params$Resource$Domains$Getcompliancestatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getComplianceStatus( + params: Params$Resource$Domains$Getcompliancestatus, + callback: BodyResponseCallback + ): void; + getComplianceStatus( + callback: BodyResponseCallback + ): void; + getComplianceStatus( + paramsOrCallback?: + | Params$Resource$Domains$Getcompliancestatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Domains$Getcompliancestatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Domains$Getcompliancestatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://gmailpostmastertools.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+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); + } + } + + /** + * Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/gmailpostmastertools.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/postmaster', + * 'https://www.googleapis.com/auth/postmaster.domain', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await gmailpostmastertools.domains.list({ + * // Optional. Requested page size. Server may return fewer domains than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous List request, if any. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "domains": [], + * // "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$Domains$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Domains$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Domains$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Domains$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Domains$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Domains$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Domains$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Domains$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://gmailpostmastertools.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/domains').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$Domains$Get extends StandardParameters { + /** + * Required. The resource name of the domain. Format: `domains/{domain_name\}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com). + */ + name?: string; + } + export interface Params$Resource$Domains$Getcompliancestatus extends StandardParameters { + /** + * Required. The resource name of the domain's compliance status to retrieve. Format: `domains/{domain_id\}/complianceStatus`. + */ + name?: string; + } + export interface Params$Resource$Domains$List extends StandardParameters { + /** + * Optional. Requested page size. Server may return fewer domains than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous List request, if any. + */ + pageToken?: string; + } + + export class Resource$Domains$Domainstats { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves a list of domain statistics for a given domain and time period. Returns statistics only for dates where data is available. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for the domain. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/gmailpostmastertools.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/postmaster', + * 'https://www.googleapis.com/auth/postmaster.traffic.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 gmailpostmastertools.domains.domainStats.query({ + * // Required. The parent resource name where the stats are queried. Format: domains/{domain\} + * parent: 'domains/my-domain', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregationGranularity": "my_aggregationGranularity", + * // "metricDefinitions": [], + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "parent": "my_parent", + * // "timeQuery": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "domainStats": [], + * // "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. + */ + query( + params: Params$Resource$Domains$Domainstats$Query, + options: StreamMethodOptions + ): Promise>; + query( + params?: Params$Resource$Domains$Domainstats$Query, + options?: MethodOptions + ): Promise>; + query( + params: Params$Resource$Domains$Domainstats$Query, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Domains$Domainstats$Query, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Domains$Domainstats$Query, + callback: BodyResponseCallback + ): void; + query( + callback: BodyResponseCallback + ): void; + query( + paramsOrCallback?: + | Params$Resource$Domains$Domainstats$Query + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Domains$Domainstats$Query; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Domains$Domainstats$Query; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://gmailpostmastertools.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/domainStats:query').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); + } + } + } + + export interface Params$Resource$Domains$Domainstats$Query extends StandardParameters { + /** + * Required. The parent resource name where the stats are queried. Format: domains/{domain\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$QueryDomainStatsRequest; + } + + export class Resource$Domainstats { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Executes a batch of QueryDomainStats requests for multiple domains. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for any of the requested domains. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/gmailpostmastertools.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const gmailpostmastertools = google.gmailpostmastertools('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/postmaster', + * 'https://www.googleapis.com/auth/postmaster.traffic.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 gmailpostmastertools.domainStats.batchQuery({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requests": [] + * // } + * }, + * }); + * 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. + */ + batchQuery( + params: Params$Resource$Domainstats$Batchquery, + options: StreamMethodOptions + ): Promise>; + batchQuery( + params?: Params$Resource$Domainstats$Batchquery, + options?: MethodOptions + ): Promise>; + batchQuery( + params: Params$Resource$Domainstats$Batchquery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchQuery( + params: Params$Resource$Domainstats$Batchquery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchQuery( + params: Params$Resource$Domainstats$Batchquery, + callback: BodyResponseCallback + ): void; + batchQuery( + callback: BodyResponseCallback + ): void; + batchQuery( + paramsOrCallback?: + | Params$Resource$Domainstats$Batchquery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Domainstats$Batchquery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Domainstats$Batchquery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://gmailpostmastertools.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/domainStats:batchQuery').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$Domainstats$Batchquery extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$BatchQueryDomainStatsRequest; + } +} diff --git a/src/apis/hypercomputecluster/v1.ts b/src/apis/hypercomputecluster/v1.ts index 6b1e105de38..5b5bd73a885 100644 --- a/src/apis/hypercomputecluster/v1.ts +++ b/src/apis/hypercomputecluster/v1.ts @@ -102,7 +102,7 @@ export namespace hypercomputecluster_v1 { /** * Cluster Director API * - * + * The Cluster Director API allows you to deploy, manage, and monitor clusters that run AI, ML, or HPC workloads. * * @example * ```js @@ -723,7 +723,7 @@ export namespace hypercomputecluster_v1 { */ machineType?: string | null; /** - * Optional. Specifies the termination action of the instance + * Optional. Termination action for the instance. If not specified, Compute Engine sets the termination action to DELETE. */ terminationAction?: string | null; /** @@ -790,7 +790,7 @@ export namespace hypercomputecluster_v1 { verb?: string | null; } /** - * Message describing the progress of a cluster mutation long-running operation. operation. + * Message describing the progress of a cluster mutation long-running operation. */ export interface Schema$OperationProgress { /** @@ -958,7 +958,7 @@ export namespace hypercomputecluster_v1 { */ export interface Schema$SlurmNodeSet { /** - * Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's [compute_resources](Cluster.compute_resources). + * Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's compute_resources. */ computeId?: string | null; /** @@ -999,11 +999,11 @@ export namespace hypercomputecluster_v1 { */ loginNodes?: Schema$SlurmLoginNodes; /** - * Required. Configuration of Slurm nodesets, which define groups of compute resources that can be used by Slurm. At least one compute node is required. + * Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes. */ nodeSets?: Schema$SlurmNodeSet[]; /** - * Required. Configuration of Slurm partitions, which group one or more nodesets. Acts as a queue against which jobs can be submitted. At least one partition is required. + * Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster. */ partitions?: Schema$SlurmPartition[]; /** @@ -1046,7 +1046,7 @@ export namespace hypercomputecluster_v1 { */ export interface Schema$StorageConfig { /** - * Required. ID of the storage resource to mount, which must match a key in the cluster's [storage_resources](Cluster.storage_resources). + * Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources. */ id?: string | null; /** @@ -1292,7 +1292,7 @@ export namespace hypercomputecluster_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/iam/v1.ts b/src/apis/iam/v1.ts index 5c104a02eee..bfbfd78d5fb 100644 --- a/src/apis/iam/v1.ts +++ b/src/apis/iam/v1.ts @@ -1568,7 +1568,7 @@ export namespace iam_v1 { */ extendedAttributesOauth2Client?: Schema$GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client; /** - * Optional. The configuration for OAuth 2.0 client used to get the additional user attributes. This should be used when users can't get the desired claims in authentication credentials. Currently, this configuration is only supported with OIDC protocol. + * Optional. Defines the configuration for the OAuth 2.0 client that is used to get the additional user attributes in a separate backchannel call to the identity provider. This should be used when users can't get the required claims in authentication credentials. Currently, the OAuth 2.0 protocol is the only supported authorization method for this backchannel call. */ extraAttributesOauth2Client?: Schema$GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client; /** diff --git a/src/apis/iap/v1.ts b/src/apis/iap/v1.ts index 39da29434d1..39921edc72d 100644 --- a/src/apis/iap/v1.ts +++ b/src/apis/iap/v1.ts @@ -441,6 +441,18 @@ export namespace iap_v1 { * Configuration for OAuth login&consent flow behavior as well as for OAuth Credentials. */ export interface Schema$OAuthSettings { + /** + * Optional. OAuth 2.0 client ID used in the OAuth flow to generate an access token. If this field is set, you can skip obtaining the OAuth credentials in this step: https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here: https://cloud.google.com/iap/docs/sharing-oauth-clients#risks. + */ + clientId?: string | null; + /** + * Optional. Input only. OAuth secret paired with client ID + */ + clientSecret?: string | null; + /** + * Output only. OAuth secret sha256 paired with client ID + */ + clientSecretSha256?: string | null; /** * Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies. */ diff --git a/src/apis/index.ts b/src/apis/index.ts index 5d812eaef09..594fb75c8e2 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -172,6 +172,7 @@ import { VERSIONS as certificatemanagerVersions, certificatemanager, } from './certificatemanager'; +import {VERSIONS as cesVersions, ces} from './ces'; import {VERSIONS as chatVersions, chat} from './chat'; import {VERSIONS as checksVersions, checks} from './checks'; import { @@ -845,6 +846,7 @@ export const APIS: APIList = { businessprofileperformance: businessprofileperformanceVersions, calendar: calendarVersions, certificatemanager: certificatemanagerVersions, + ces: cesVersions, chat: chatVersions, checks: checksVersions, chromemanagement: chromemanagementVersions, @@ -1169,6 +1171,7 @@ export class GeneratedAPIs { businessprofileperformance = businessprofileperformance; calendar = calendar; certificatemanager = certificatemanager; + ces = ces; chat = chat; checks = checks; chromemanagement = chromemanagement; diff --git a/src/apis/kmsinventory/v1.ts b/src/apis/kmsinventory/v1.ts index 423a7002f2b..fa9c4218a15 100644 --- a/src/apis/kmsinventory/v1.ts +++ b/src/apis/kmsinventory/v1.ts @@ -231,7 +231,7 @@ export namespace kmsinventory_v1 { protectedResources?: Schema$GoogleCloudKmsInventoryV1ProtectedResource[]; } /** - * Warning message specifying various states of response data that might indicate incomplete or partial results. + * A warning message that indicates potential problems with the response data. */ export interface Schema$GoogleCloudKmsInventoryV1Warning { /** @@ -491,7 +491,7 @@ export namespace kmsinventory_v1 { * pageToken: 'placeholder-value', * // Optional. A list of resource types that this request searches for. If empty, it will search all the [trackable resource types](https://cloud.google.com/kms/docs/view-key-usage#tracked-resource-types). Regular expressions are also supported. For example: * `compute.googleapis.com.*` snapshots resources whose type starts with `compute.googleapis.com`. * `.*Image` snapshots resources whose type ends with `Image`. * `.*Image.*` snapshots resources whose type contains `Image`. See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported resource type, an INVALID_ARGUMENT error will be returned. * resourceTypes: 'placeholder-value', - * // Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") + * // Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") * scope: 'organizations/my-organization', * }); * console.log(res.data); @@ -627,7 +627,7 @@ export namespace kmsinventory_v1 { */ resourceTypes?: string[]; /** - * Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") + * Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") */ scope?: string; } @@ -1063,7 +1063,7 @@ export namespace kmsinventory_v1 { * pageToken: 'placeholder-value', * // Optional. A list of resource types that this request searches for. If empty, it will search all the [trackable resource types](https://cloud.google.com/kms/docs/view-key-usage#tracked-resource-types). Regular expressions are also supported. For example: * `compute.googleapis.com.*` snapshots resources whose type starts with `compute.googleapis.com`. * `.*Image` snapshots resources whose type ends with `Image`. * `.*Image.*` snapshots resources whose type contains `Image`. See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported resource type, an INVALID_ARGUMENT error will be returned. * resourceTypes: 'placeholder-value', - * // Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") + * // Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") * scope: 'projects/my-project', * }); * console.log(res.data); @@ -1199,7 +1199,7 @@ export namespace kmsinventory_v1 { */ resourceTypes?: string[]; /** - * Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The allowed values are: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") + * Required. A scope can be an organization or a project. Resources protected by the crypto key in provided scope will be returned. The following values are allowed: * organizations/{ORGANIZATION_NUMBER\} (e.g., "organizations/12345678") * projects/{PROJECT_ID\} (e.g., "projects/foo-bar") * projects/{PROJECT_NUMBER\} (e.g., "projects/12345678") */ scope?: string; } diff --git a/src/apis/lifesciences/v2beta.ts b/src/apis/lifesciences/v2beta.ts deleted file mode 100644 index 2ced3c9e870..00000000000 --- a/src/apis/lifesciences/v2beta.ts +++ /dev/null @@ -1,1782 +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 lifesciences_v2beta { - export interface Options extends GlobalOptions { - version: 'v2beta'; - } - - 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; - } - - /** - * Cloud Life Sciences API - * - * Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data. - * - * @example - * ```js - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * ``` - */ - export class Lifesciences { - context: APIRequestContext; - projects: Resource$Projects; - - constructor(options: GlobalOptions, google?: GoogleConfigurable) { - this.context = { - _options: options || {}, - google, - }; - - this.projects = new Resource$Projects(this.context); - } - } - - /** - * Carries information about an accelerator that can be attached to a VM. - */ - export interface Schema$Accelerator { - /** - * How many accelerators of this type to attach. - */ - count?: string | null; - /** - * The accelerator type string (for example, "nvidia-tesla-t4"). Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is attached, the required runtime libraries will be made available to all containers under `/usr/local/nvidia`. The driver version to install must be specified using the NVIDIA driver version parameter on the virtual machine specification. Note that attaching a GPU increases the worker VM startup time by a few minutes. - */ - type?: string | null; - } - /** - * Specifies a single action that runs a Docker container. - */ - export interface Schema$Action { - /** - * By default, after an action fails, no further actions are run. This flag indicates that this action must be run even if the pipeline has already failed. This is useful for actions that copy output files off of the VM or for debugging. Note that no actions will be run if image prefetching fails. - */ - alwaysRun?: boolean | null; - /** - * Prevents the container from accessing the external network. - */ - blockExternalNetwork?: boolean | null; - /** - * If specified, overrides the `CMD` specified in the container. If the container also has an `ENTRYPOINT` the values are used as entrypoint arguments. Otherwise, they are used as a command and arguments to run inside the container. - */ - commands?: string[] | null; - /** - * An optional name for the container. The container hostname will be set to this name, making it useful for inter-container communication. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen. - */ - containerName?: string | null; - /** - * If the specified image is hosted on a private registry other than Google Container Registry, the credentials required to pull the image must be specified here as an encrypted secret. The secret must decrypt to a JSON-encoded dictionary containing both `username` and `password` keys. - */ - credentials?: Schema$Secret; - /** - * All container images are typically downloaded before any actions are executed. This helps prevent typos in URIs or issues like lack of disk space from wasting large amounts of compute resources. If set, this flag prevents the worker from downloading the image until just before the action is executed. - */ - disableImagePrefetch?: boolean | null; - /** - * A small portion of the container's standard error stream is typically captured and returned inside the `ContainerStoppedEvent`. Setting this flag disables this functionality. - */ - disableStandardErrorCapture?: boolean | null; - /** - * Enable access to the FUSE device for this action. Filesystems can then be mounted into disks shared with other actions. The other actions do not need the `enable_fuse` flag to access the mounted filesystem. This has the effect of causing the container to be executed with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only for containers you trust. - */ - enableFuse?: boolean | null; - /** - * The encrypted environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field. - */ - encryptedEnvironment?: Schema$Secret; - /** - * If specified, overrides the `ENTRYPOINT` specified in the container. - */ - entrypoint?: string | null; - /** - * The environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.Pipeline message, overwriting any duplicate values. In addition to the values passed here, a few other values are automatically injected into the environment. These cannot be hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed because an action has exited with a non-zero status (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-background action that executed. This can be used by workflow engine authors to determine whether an individual action has succeeded or failed. - */ - environment?: {[key: string]: string} | null; - /** - * Normally, a non-zero exit status causes the pipeline to fail. This flag allows execution of other actions to continue instead. - */ - ignoreExitStatus?: boolean | null; - /** - * Required. The URI to pull the container image from. Note that all images referenced by actions in the pipeline are pulled before the first action runs. If multiple actions reference the same image, it is only pulled once, ensuring that the same image is used for all actions in a single pipeline. The image URI can be either a complete host and image specification (e.g., quay.io/biocontainers/samtools), a library and image name (e.g., google/cloud-sdk) or a bare image name ('bash') to pull from the default library. No schema is required in any of these cases. If the specified image is not public, the service account specified for the Virtual Machine must have access to pull the images from GCR, or appropriate credentials must be specified in the google.cloud.lifesciences.v2beta.Action.credentials field. - */ - imageUri?: string | null; - /** - * Labels to associate with the action. This field is provided to assist workflow engine authors in identifying actions (for example, to indicate what sort of action they perform, such as localization or debugging). They are returned in the operation metadata, but are otherwise ignored. - */ - labels?: {[key: string]: string} | null; - /** - * A list of mounts to make available to the action. In addition to the values specified here, every action has a special virtual disk mounted under `/google` that contains log files and other operational components. - /google/logs All logs written during the pipeline execution. - /google/logs/output The combined standard output and standard error of all actions run as part of the pipeline execution. - /google/logs/action/x/stdout The complete contents of each individual action's standard output. - /google/logs/action/x/stderr The complete contents of each individual action's standard error output. - */ - mounts?: Schema$Mount[]; - /** - * An optional identifier for a PID namespace to run the action inside. Multiple actions should use the same string to share a namespace. If unspecified, a separate isolated namespace is used. - */ - pidNamespace?: string | null; - /** - * A map of containers to host port mappings for this container. If the container already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less than 65536. If it is zero, an unused random port is assigned. To determine the resulting port number, consult the `ContainerStartedEvent` in the operation metadata. - */ - portMappings?: {[key: string]: number} | null; - /** - * Exposes all ports specified by `EXPOSE` statements in the container. To discover the host side port numbers, consult the `ACTION_STARTED` event in the operation metadata. - */ - publishExposedPorts?: boolean | null; - /** - * This flag allows an action to continue running in the background while executing subsequent actions. This is useful to provide services to other actions (or to provide debugging support tools like SSH servers). - */ - runInBackground?: boolean | null; - /** - * The maximum amount of time to give the action to complete. If the action fails to complete before the timeout, it will be terminated and the exit status will be non-zero. The pipeline will continue or terminate based on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags. - */ - timeout?: string | null; - } - /** - * The request message for Operations.CancelOperation. - */ - export interface Schema$CancelOperationRequest {} - /** - * An event generated when a container is forcibly terminated by the worker. Currently, this only occurs when the container outlives the timeout specified by the user. - */ - export interface Schema$ContainerKilledEvent { - /** - * The numeric ID of the action that started the container. - */ - actionId?: number | null; - } - /** - * An event generated when a container starts. - */ - export interface Schema$ContainerStartedEvent { - /** - * The numeric ID of the action that started this container. - */ - actionId?: number | null; - /** - * The public IP address that can be used to connect to the container. This field is only populated when at least one port mapping is present. If the instance was created with a private address, this field will be empty even if port mappings exist. - */ - ipAddress?: string | null; - /** - * The container-to-host port mappings installed for this container. This set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag as well as any specified in the `Action` definition. - */ - portMappings?: {[key: string]: number} | null; - } - /** - * An event generated when a container exits. - */ - export interface Schema$ContainerStoppedEvent { - /** - * The numeric ID of the action that started this container. - */ - actionId?: number | null; - /** - * The exit status of the container. - */ - exitStatus?: number | null; - /** - * The tail end of any content written to standard error by the container. If the content emits large amounts of debugging noise or contains sensitive information, you can prevent the content from being printed by setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag. Note that only a small amount of the end of the stream is captured here. The entire stream is stored in the `/google/logs` directory mounted into each action, and can be copied off the machine as described elsewhere. - */ - stderr?: string | null; - } - /** - * An event generated whenever a resource limitation or transient error delays execution of a pipeline that was otherwise ready to run. - */ - export interface Schema$DelayedEvent { - /** - * A textual description of the cause of the delay. The string can change without notice because it is often generated by another service (such as Compute Engine). - */ - cause?: string | null; - /** - * If the delay was caused by a resource shortage, this field lists the Compute Engine metrics that are preventing this operation from running (for example, `CPUS` or `INSTANCES`). If the particular metric is not known, a single `UNKNOWN` metric will be present. - */ - metrics?: string[] | null; - } - /** - * Carries information about a disk that can be attached to a VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations. Specify either `Volume` or `Disk`, but not both. - */ - export interface Schema$Disk { - /** - * A user-supplied name for the disk. Used when mounting the disk into actions. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen. - */ - name?: string | null; - /** - * The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance. - */ - sizeGb?: number | null; - /** - * An optional image to put on the disk before attaching it to the VM. - */ - sourceImage?: string | null; - /** - * The Compute Engine disk type. If unspecified, `pd-standard` is used. - */ - 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 {} - /** - * Carries information about events that occur during pipeline execution. - */ - export interface Schema$Event { - /** - * See google.cloud.lifesciences.v2beta.ContainerKilledEvent. - */ - containerKilled?: Schema$ContainerKilledEvent; - /** - * See google.cloud.lifesciences.v2beta.ContainerStartedEvent. - */ - containerStarted?: Schema$ContainerStartedEvent; - /** - * See google.cloud.lifesciences.v2beta.ContainerStoppedEvent. - */ - containerStopped?: Schema$ContainerStoppedEvent; - /** - * See google.cloud.lifesciences.v2beta.DelayedEvent. - */ - delayed?: Schema$DelayedEvent; - /** - * A human-readable description of the event. Note that these strings can change at any time without notice. Any application logic must use the information in the `details` field. - */ - description?: string | null; - /** - * See google.cloud.lifesciences.v2beta.FailedEvent. - */ - failed?: Schema$FailedEvent; - /** - * See google.cloud.lifesciences.v2beta.PullStartedEvent. - */ - pullStarted?: Schema$PullStartedEvent; - /** - * See google.cloud.lifesciences.v2beta.PullStoppedEvent. - */ - pullStopped?: Schema$PullStoppedEvent; - /** - * The time at which the event occurred. - */ - timestamp?: string | null; - /** - * See google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent. - */ - unexpectedExitStatus?: Schema$UnexpectedExitStatusEvent; - /** - * See google.cloud.lifesciences.v2beta.WorkerAssignedEvent. - */ - workerAssigned?: Schema$WorkerAssignedEvent; - /** - * See google.cloud.lifesciences.v2beta.WorkerReleasedEvent. - */ - workerReleased?: Schema$WorkerReleasedEvent; - } - /** - * Configuration for an existing disk to be attached to the VM. - */ - export interface Schema$ExistingDisk { - /** - * If `disk` contains slashes, the Cloud Life Sciences API assumes that it is a complete URL for the disk. If `disk` does not contain slashes, the Cloud Life Sciences API assumes that the disk is a zonal disk and a URL will be generated of the form `zones//disks/`, where `` is the zone in which the instance is allocated. The disk must be ext4 formatted. If all `Mount` references to this disk have the `read_only` flag set to true, the disk will be attached in `read-only` mode and can be shared with other instances. Otherwise, the disk will be available for writing but cannot be shared. - */ - disk?: string | null; - } - /** - * An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event. - */ - export interface Schema$FailedEvent { - /** - * The human-readable description of the cause of the failure. - */ - cause?: string | null; - /** - * The Google standard error code that best describes this failure. - */ - code?: string | null; - } - /** - * The response message for Locations.ListLocations. - */ - export interface Schema$ListLocationsResponse { - /** - * A list of locations that matches the specified filter in the request. - */ - locations?: Schema$Location[]; - /** - * The standard List next-page token. - */ - nextPageToken?: string | 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[]; - } - /** - * A resource that represents a Google Cloud location. - */ - export interface Schema$Location { - /** - * The friendly name for this location, typically a nearby city name. For example, "Tokyo". - */ - displayName?: string | null; - /** - * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} - */ - labels?: {[key: string]: string} | null; - /** - * The canonical id for this location. For example: `"us-east1"`. - */ - locationId?: string | null; - /** - * Service-specific metadata. For example the available capacity at the given location. - */ - metadata?: {[key: string]: any} | null; - /** - * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` - */ - name?: string | null; - } - /** - * Carries information about the pipeline execution that is returned in the long running operation's metadata field. - */ - export interface Schema$Metadata { - /** - * The time at which the operation was created by the API. - */ - createTime?: string | null; - /** - * The time at which execution was completed and resources were cleaned up. - */ - endTime?: string | null; - /** - * The list of events that have happened so far during the execution of this operation. - */ - events?: Schema$Event[]; - /** - * The user-defined labels associated with this operation. - */ - labels?: {[key: string]: string} | null; - /** - * The pipeline this operation represents. - */ - pipeline?: Schema$Pipeline; - /** - * The name of the Cloud Pub/Sub topic where notifications of operation status changes are sent. - */ - pubSubTopic?: string | null; - /** - * The first time at which resources were allocated to execute the pipeline. - */ - startTime?: string | null; - } - /** - * Carries information about a particular disk mount inside a container. - */ - export interface Schema$Mount { - /** - * The name of the disk to mount, as specified in the resources section. - */ - disk?: string | null; - /** - * The path to mount the disk inside the container. - */ - path?: string | null; - /** - * If true, the disk is mounted read-only inside the container. - */ - readOnly?: boolean | null; - } - /** - * VM networking options. - */ - export interface Schema$Network { - /** - * The network name to attach the VM's network interface to. The value will be prefixed with `global/networks/` unless it contains a `/`, in which case it is assumed to be a fully specified network resource URL. If unspecified, the global default network is used. - */ - network?: string | null; - /** - * If the specified network is configured for custom subnet creation, the name of the subnetwork to attach the instance to must be specified here. The value is prefixed with `regions/x/subnetworks/` unless it contains a `/`, in which case it is assumed to be a fully specified subnetwork resource URL. If the `*` character appears in the value, it is replaced with the region that the virtual machine has been allocated in. - */ - subnetwork?: string | null; - /** - * If set to true, do not attach a public IP address to the VM. Note that without a public IP address, additional configuration is required to allow the VM to access Google services. See https://cloud.google.com/vpc/docs/configure-private-google-access for more information. - */ - usePrivateAddress?: boolean | null; - } - /** - * Configuration for an `NFSMount` to be attached to the VM. - */ - export interface Schema$NFSMount { - /** - * A target NFS mount. The target must be specified as `address:/mount". - */ - target?: 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; - /** - * An Metadata object. This will always be returned with the Operation. - */ - metadata?: {[key: string]: any} | null; - /** - * The server-assigned name for the operation. This may be passed to the other operation methods to retrieve information about the operation's status. - */ - name?: string | null; - /** - * An Empty object. - */ - response?: {[key: string]: any} | null; - } - /** - * Configuration for a persistent disk to be attached to the VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations. - */ - export interface Schema$PersistentDisk { - /** - * The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance. - */ - sizeGb?: number | null; - /** - * An image to put on the disk before attaching it to the VM. - */ - sourceImage?: string | null; - /** - * The Compute Engine disk type. If unspecified, `pd-standard` is used. - */ - type?: string | null; - } - /** - * Specifies a series of actions to execute, expressed as Docker containers. - */ - export interface Schema$Pipeline { - /** - * The list of actions to execute, in the order they are specified. - */ - actions?: Schema$Action[]; - /** - * The encrypted environment to pass into every action. Each action can also specify its own encrypted environment. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field. - */ - encryptedEnvironment?: Schema$Secret; - /** - * The environment to pass into every action. Each action can also specify additional environment variables but cannot delete an entry from this map (though they can overwrite it with a different value). - */ - environment?: {[key: string]: string} | null; - /** - * The resources required for execution. - */ - resources?: Schema$Resources; - /** - * The maximum amount of time to give the pipeline to complete. This includes the time spent waiting for a worker to be allocated. If the pipeline fails to complete before the timeout, it will be cancelled and the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will default to 7 days. - */ - timeout?: string | null; - } - /** - * An event generated when the worker starts pulling an image. - */ - export interface Schema$PullStartedEvent { - /** - * The URI of the image that was pulled. - */ - imageUri?: string | null; - } - /** - * An event generated when the worker stops pulling an image. - */ - export interface Schema$PullStoppedEvent { - /** - * The URI of the image that was pulled. - */ - imageUri?: string | null; - } - /** - * The system resources for the pipeline run. At least one zone or region must be specified or the pipeline run will fail. - */ - export interface Schema$Resources { - /** - * The list of regions allowed for VM allocation. If set, the `zones` field must not be set. - */ - regions?: string[] | null; - /** - * The virtual machine specification. - */ - virtualMachine?: Schema$VirtualMachine; - /** - * The list of zones allowed for VM allocation. If set, the `regions` field must not be set. - */ - zones?: string[] | null; - } - /** - * The arguments to the `RunPipeline` method. The requesting user must have the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences service account or the request will fail. - */ - export interface Schema$RunPipelineRequest { - /** - * User-defined labels to associate with the returned operation. These labels are not propagated to any Google Cloud Platform resources used by the operation, and can be modified at any time. To associate labels with resources created while executing the operation, see the appropriate resource message (for example, `VirtualMachine`). - */ - labels?: {[key: string]: string} | null; - /** - * Required. The description of the pipeline to run. - */ - pipeline?: Schema$Pipeline; - /** - * The name of an existing Pub/Sub topic. The server will publish messages to this topic whenever the status of the operation changes. The Life Sciences Service Agent account must have publisher permissions to the specified topic or notifications will not be sent. - */ - pubSubTopic?: string | null; - } - /** - * The response to the RunPipeline method, returned in the operation's result field on success. - */ - export interface Schema$RunPipelineResponse {} - /** - * Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline. - */ - export interface Schema$Secret { - /** - * The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited. - */ - cipherText?: string | null; - /** - * The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key. - */ - keyName?: string | null; - } - /** - * Carries information about a Google Cloud service account. - */ - export interface Schema$ServiceAccount { - /** - * Email address of the service account. If not specified, the default Compute Engine service account for the project will be used. - */ - email?: string | null; - /** - * List of scopes to be enabled for this service account on the VM, in addition to the cloud-platform API scope that will be added by default. - */ - scopes?: 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; - } - /** - * An event generated when the execution of a container results in a non-zero exit status that was not otherwise ignored. Execution will continue, but only actions that are flagged as `ALWAYS_RUN` will be executed. Other actions will be skipped. - */ - export interface Schema$UnexpectedExitStatusEvent { - /** - * The numeric ID of the action that started the container. - */ - actionId?: number | null; - /** - * The exit status of the container. - */ - exitStatus?: number | null; - } - /** - * Carries information about a Compute Engine VM resource. - */ - export interface Schema$VirtualMachine { - /** - * The list of accelerators to attach to the VM. - */ - accelerators?: Schema$Accelerator[]; - /** - * The size of the boot disk, in GB. The boot disk must be large enough to accommodate all of the Docker images from each action in the pipeline at the same time. If not specified, a small but reasonable default value is used. - */ - bootDiskSizeGb?: number | null; - /** - * The host operating system image to use. Currently, only Container-Optimized OS images can be used. The default value is `projects/cos-cloud/global/images/family/cos-stable`, which selects the latest stable release of Container-Optimized OS. This option is provided to allow testing against the beta release of the operating system to ensure that the new version does not interact negatively with production pipelines. To test a pipeline against the beta release of Container-Optimized OS, use the value `projects/cos-cloud/global/images/family/cos-beta`. - */ - bootImage?: string | null; - /** - * The CPU platform to request. An instance based on a newer platform can be allocated, but never one with fewer capabilities. The value of this parameter must be a valid Compute Engine CPU platform name (such as "Intel Skylake"). This parameter is only useful for carefully optimized work loads where the CPU platform has a significant impact. For more information about the effect of this parameter, see https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform. - */ - cpuPlatform?: string | null; - /** - * The list of disks to create and attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both. - */ - disks?: Schema$Disk[]; - /** - * The Compute Engine Disk Images to use as a Docker cache. The disks will be mounted into the Docker folder in a way that the images present in the cache will not need to be pulled. The digests of the cached images must match those of the tags used or the latest version will still be pulled. The root directory of the ext4 image must contain `image` and `overlay2` directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported. - */ - dockerCacheImages?: string[] | null; - /** - * Whether Stackdriver monitoring should be enabled on the VM. - */ - enableStackdriverMonitoring?: boolean | null; - /** - * Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the [name and value restrictions](https://cloud.google.com/compute/docs/labeling-resources) on VM labels imposed by Compute Engine. Labels keys with the prefix 'google-' are reserved for use by Google. Labels applied at creation time to the VM. Applied on a best-effort basis to attached disk resources shortly after VM creation. - */ - labels?: {[key: string]: string} | null; - /** - * Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as "n1-standard-1") or a custom machine type (such as "custom-1-4096", where "1" indicates the number of vCPUs and "4096" indicates the memory in MB). See [Creating an instance with a custom machine type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) for more specifications on creating a custom machine type. - */ - machineType?: string | null; - /** - * The VM network configuration. - */ - network?: Schema$Network; - /** - * The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The version specified here must be compatible with the GPU libraries contained in the container being executed, and must be one of the drivers hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage. - */ - nvidiaDriverVersion?: string | null; - /** - * If true, allocate a preemptible VM. - */ - preemptible?: boolean | null; - /** - * If specified, the VM will only be allocated inside the matching reservation. It will fail if the VM parameters don't match the reservation. - */ - reservation?: string | null; - /** - * The service account to install on the VM. This account does not need any permissions other than those required by the pipeline. - */ - serviceAccount?: Schema$ServiceAccount; - /** - * The list of disks and other storage to create or attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both. - */ - volumes?: Schema$Volume[]; - } - /** - * Carries information about storage that can be attached to a VM. Specify either `Volume` or `Disk`, but not both. - */ - export interface Schema$Volume { - /** - * Configuration for a existing disk. - */ - existingDisk?: Schema$ExistingDisk; - /** - * Configuration for an NFS mount. - */ - nfsMount?: Schema$NFSMount; - /** - * Configuration for a persistent disk. - */ - persistentDisk?: Schema$PersistentDisk; - /** - * A user-supplied name for the volume. Used when mounting the volume into `Actions`. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen. - */ - volume?: string | null; - } - /** - * An event generated after a worker VM has been assigned to run the pipeline. - */ - export interface Schema$WorkerAssignedEvent { - /** - * The worker's instance name. - */ - instance?: string | null; - /** - * The machine type that was assigned for the worker. - */ - machineType?: string | null; - /** - * The zone the worker is running in. - */ - zone?: string | null; - } - /** - * An event generated when the worker VM that was assigned to the pipeline has been released (deleted). - */ - export interface Schema$WorkerReleasedEvent { - /** - * The worker's instance name. - */ - instance?: string | null; - /** - * The zone the worker was running in. - */ - zone?: string | null; - } - - 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; - operations: Resource$Projects$Locations$Operations; - pipelines: Resource$Projects$Locations$Pipelines; - constructor(context: APIRequestContext) { - this.context = context; - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); - this.pipelines = new Resource$Projects$Locations$Pipelines(this.context); - } - - /** - * Gets information about a location. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.get({ - * // Resource name for the location. - * name: 'projects/my-project/locations/my-location', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "displayName": "my_displayName", - * // "labels": {}, - * // "locationId": "my_locationId", - * // "metadata": {}, - * // "name": "my_name" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `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$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+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 information about the supported locations for this service. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.list({ - * // Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations. - * 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 - * // { - * // "locations": [], - * // "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$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Projects$Locations$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Projects$Locations$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+name}/locations').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); - } - } - } - - 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. A list of extra location types that should be used as conditions for controlling the visibility of the locations. - */ - 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$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. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.cancel` - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.operations.cancel({ - * // The name of the operation resource to be cancelled. - * name: 'projects/my-project/locations/my-location/operations/my-operation', - * - * // 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. - */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: StreamMethodOptions - ): Promise>; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, - options?: MethodOptions - ): Promise>; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback - ): void; - cancel(callback: BodyResponseCallback): void; - cancel( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+name}:cancel').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - 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. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.get` - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.operations.get({ - * // The name of the operation resource. - * name: 'projects/my-project/locations/my-location/operations/my-operation', - * }); - * 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. - */ - get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Operations$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Operations$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+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 operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.list` - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.operations.list({ - * // A string for filtering Operations. The following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels."key with space" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. - * filter: 'placeholder-value', - * // The name of the operation's parent resource. - * name: 'projects/my-project/locations/my-location', - * // The maximum number of results to return. The maximum value is 256. - * pageSize: 'placeholder-value', - * // The standard list page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "operations": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `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$Operations$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Operations$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Operations$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Operations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Operations$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+name}/operations').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); - } - } - } - - export interface Params$Resource$Projects$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$Projects$Locations$Operations$Get extends StandardParameters { - /** - * The name of the operation resource. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { - /** - * A string for filtering Operations. The following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels."key with space" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. - */ - filter?: string; - /** - * The name of the operation's parent resource. - */ - name?: string; - /** - * The maximum number of results to return. The maximum value is 256. - */ - pageSize?: number; - /** - * The standard list page token. - */ - pageToken?: string; - } - - export class Resource$Projects$Locations$Pipelines { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Runs a pipeline. The returned Operation's metadata field will contain a google.cloud.lifesciences.v2beta.Metadata object describing the status of the pipeline execution. The response field will contain a google.cloud.lifesciences.v2beta.RunPipelineResponse object if the pipeline completes successfully. **Note:** Before you can use this method, the *Life Sciences Service Agent* must have access to your project. This is done automatically when the Cloud Life Sciences API is first enabled, but if you delete this permission you must disable and re-enable the API to grant the Life Sciences Service Agent the required permissions. Authorization requires the following [Google IAM](https://cloud.google.com/iam/) permission: * `lifesciences.workflows.run` - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/lifesciences.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const lifesciences = google.lifesciences('v2beta'); - * - * async function main() { - * const auth = new google.auth.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 lifesciences.projects.locations.pipelines.run({ - * // The project and location that this request should be executed against. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labels": {}, - * // "pipeline": {}, - * // "pubSubTopic": "my_pubSubTopic" - * // } - * }, - * }); - * 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$Projects$Locations$Pipelines$Run, - options: StreamMethodOptions - ): Promise>; - run( - params?: Params$Resource$Projects$Locations$Pipelines$Run, - options?: MethodOptions - ): Promise>; - run( - params: Params$Resource$Projects$Locations$Pipelines$Run, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - run( - params: Params$Resource$Projects$Locations$Pipelines$Run, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - run( - params: Params$Resource$Projects$Locations$Pipelines$Run, - callback: BodyResponseCallback - ): void; - run(callback: BodyResponseCallback): void; - run( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Pipelines$Run - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Pipelines$Run; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Pipelines$Run; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://lifesciences.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v2beta/{+parent}/pipelines:run').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); - } - } - } - - export interface Params$Resource$Projects$Locations$Pipelines$Run extends StandardParameters { - /** - * The project and location that this request should be executed against. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RunPipelineRequest; - } -} diff --git a/src/apis/logging/v2.ts b/src/apis/logging/v2.ts index 5516acbe0f4..1624c04b931 100644 --- a/src/apis/logging/v2.ts +++ b/src/apis/logging/v2.ts @@ -227,7 +227,7 @@ export namespace logging_v2 { */ export interface Schema$BigQueryOptions { /** - * Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone. + * Optional. Whether to use BigQuery's partition tables (https://docs.cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://docs.cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone. */ usePartitionedTables?: boolean | null; /** @@ -299,11 +299,11 @@ export namespace logging_v2 { */ export interface Schema$CancelOperationRequest {} /** - * Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ export interface Schema$CmekSettings { /** - * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsKeyName?: string | null; /** @@ -315,7 +315,7 @@ export namespace logging_v2 { */ name?: string | null; /** - * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ serviceAccountId?: string | null; } @@ -433,7 +433,7 @@ export namespace logging_v2 { */ exclusions?: Schema$LogExclusion[]; /** - * Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE. + * Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE. */ filter?: string | null; /** @@ -501,6 +501,90 @@ export namespace logging_v2 { */ title?: string | null; } + /** + * A source that can be used to represent a field within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. + */ + export interface Schema$FieldSource { + /** + * The alias name for a field that has already been aliased within a different ProjectedField type elsewhere in the query model. The alias must be defined in the QueryBuilderConfig's field_sources list, otherwise the model is invalid. + */ + aliasRef?: string | null; + /** + * The type of the selected field. This comes from the schema. Can be one of the BigQuery data types: - STRING - INT64 - FLOAT64 - BOOL - TIMESTAMP - DATE - RECORD - JSON + */ + columnType?: string | null; + /** + * The fully qualified, dot-delimited path to the selected atomic field (the leaf value). This path is used for primary selection and actions like drill-down or projection.The path components should match the exact field names or keys as they appear in the underlying data schema. For JSON fields, this means respecting the original casing (e.g., camelCase or snake_case as present in the JSON).To reference field names containing special characters (e.g., hyphens, spaces), enclose the individual path segment in backticks (`).Examples: * json_payload.labels.message * json_payload.request_id * httpRequest.status * json_payload.\my-custom-field`.value *jsonPayload.`my key with spaces`.data` + */ + field?: string | null; + /** + * Whether the field is a JSON field, or has a parent that is a JSON field. This value is used to determine JSON extractions in generated SQL queries. Note that this is_json flag may be true when the column_type is not JSON if the parent is a JSON field. Ex: - A json_payload.message field might have is_json=true, since the 'json_payload' parent is of type JSON, and columnType='STRING' if the 'message' field is of type STRING. + */ + isJson?: boolean | null; + /** + * The dot-delimited path of the parent container that holds the target field.This path defines the structural hierarchy and is essential for correctly generating SQL when field keys contain special characters (e.g., dots or brackets).Example: json_payload.labels (This points to the 'labels' object). This is an empty string if the target field is at the root level. + */ + parentPath?: string | null; + /** + * A projected field option for when a user wants to use a field with some additional transformations such as casting or extractions. + */ + projectedField?: Schema$ProjectedField; + } + /** + * This is a leaf of the FilterPredicate. Ex: { field: json_payload.message.error_code, filter_value: {numeric_value: 400\}, comparator: EQUAL_TO\} The field will be schema field that is selected using the . annotation to display the drill down value. The value will be the user inputted text that the filter is comparing against. + */ + export interface Schema$FilterExpression { + /** + * The comparison type to use for the filter. + */ + comparator?: string | null; + /** + * Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value. + */ + fieldSource?: Schema$FieldSource; + /** + * The field. This will be the field that is set as the Right Hand Side of the filter. + */ + fieldSourceValue?: Schema$FieldSource; + /** + * Determines if the NOT flag should be added to the comparator. + */ + isNegation?: boolean | null; + /** + * The Value will be used to hold user defined constants set as the Right Hand Side of the filter. + */ + literalValue?: any | null; + } + /** + * A filter for a query. This equates to the WHERE clause in SQL. + */ + export interface Schema$FilterPredicate { + /** + * The children of the filter predicate. This equates to the branches of the filter predicate that could contain further nested leaves. + */ + childPredicates?: Schema$FilterPredicate[]; + /** + * The leaves of the filter predicate. This equates to the last leaves of the filter predicate associated with an operator. + */ + leafPredicate?: Schema$FilterExpression; + /** + * The operator type for the filter. Currently there is no support for multiple levels of nesting, so this will be a single value with no joining of different operator types + */ + operatorType?: string | null; + } + /** + * Defines the aggregation function to apply to this field. This message is used only when operation is set to AGGREGATE. + */ + export interface Schema$FunctionApplication { + /** + * Optional. Parameters to be applied to the aggregation. Aggregations that support or require parameters are listed above. + */ + parameters?: any[] | null; + /** + * Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. + */ + type?: string | null; + } /** * Request message for GetIamPolicy method. */ @@ -593,7 +677,7 @@ export namespace logging_v2 { */ createTime?: string | null; /** - * Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status + * Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://docs.cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status */ fieldPath?: string | null; /** @@ -975,7 +1059,7 @@ export namespace logging_v2 { */ locked?: boolean | null; /** - * Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed. + * Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed. */ name?: string | null; /** @@ -1148,7 +1232,7 @@ export namespace logging_v2 { */ disabled?: boolean | null; /** - * Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity=ERROR + * Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERROR */ filter?: string | null; /** @@ -1341,7 +1425,7 @@ export namespace logging_v2 { */ updateTime?: string | null; /** - * Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required. + * Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Manage access to projects, folders, and organizations (https://docs.cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required. */ writerIdentity?: string | null; } @@ -1538,11 +1622,15 @@ export namespace logging_v2 { response?: {[key: string]: any} | null; } /** - * Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release. + * Describes a query that can be run in Log Analytics. */ export interface Schema$OpsAnalyticsQuery { /** - * Required. A logs analytics SQL query, which generally follows BigQuery format.This is the SQL query that appears in the Log Analytics UI's query editor. + * Optional. A query builder configuration used in Log Analytics.If both query_builder and sql_query_text fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set. + */ + queryBuilder?: Schema$QueryBuilderConfig; + /** + * Optional. A Log Analytics SQL query in text format.If both sql_query_text and query_builder fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set. */ sqlQueryText?: string | null; } @@ -1563,6 +1651,68 @@ export namespace logging_v2 { */ version?: number | null; } + /** + * Represents a field selected in the query, analogous to an item in a SQL SELECT clause. It specifies the source field and optionally applies transformations like aggregation, casting, regex extraction, or assigns an alias. Use ProjectedField when you need more than just the raw source field name (for which you might use FieldSource directly in QueryBuilderConfig's field_sources list if no transformations or specific operation type are needed). + */ + export interface Schema$ProjectedField { + /** + * The alias name for the field. Valid alias examples are: - single word alias: TestAlias - numbers in an alias: Alias123 - multi word alias should be enclosed in quotes: "Test Alias" Invalid alias examples are: - alias containing keywords: WHERE, SELECT, FROM, etc. - alias starting with a number: 1stAlias + */ + alias?: string | null; + /** + * The cast for the field. This can any SQL cast type. Examples: - STRING - CHAR - DATE - TIMESTAMP - DATETIME - INT - FLOAT + */ + cast?: string | null; + /** + * The field name. This will be the field that is selected using the dot notation to display the drill down value. + */ + field?: string | null; + /** + * Specifies the role of this field (direct selection, grouping, or aggregation). + */ + operation?: string | null; + /** + * The re2 extraction for the field. This will be used to extract the value from the field using REGEXP_EXTRACT. More information on re2 can be found here: https://github.com/google/re2/wiki/Syntax. Meta characters like +?()| will need to be escaped. Examples: - ".(autoscaler.*)$" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),"request(.*(autoscaler.*)$)")in SQL. - "\(test_value\)$" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),"request(\(test_value\)$)") in SQL. + */ + regexExtraction?: string | null; + /** + * The function to apply to the field. + */ + sqlAggregationFunction?: Schema$FunctionApplication; + /** + * 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; + } + /** + * 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. + */ + export interface Schema$QueryBuilderConfig { + /** + * Defines the items to include in the query result, analogous to a SQL SELECT clause. + */ + fieldSources?: Schema$FieldSource[]; + /** + * The filter to use for the query. This equates to the WHERE clause in SQL. + */ + filter?: Schema$FilterPredicate; + /** + * The limit to use for the query. This equates to the LIMIT clause in SQL. A limit of 0 will be treated as not enabled. + */ + limit?: string | null; + /** + * The sort orders to use for the query. This equates to the ORDER BY clause in SQL. + */ + orderBys?: Schema$SortOrderParameter[]; + /** + * Required. The view/resource to query. For now only a single view/resource will be sent, but there are plans to allow multiple views in the future. Marking as repeated for that purpose. Example: - "projects/123/locations/global/buckets/456/views/_Default" - "projects/123/locations/global/metricBuckets/456/views/_Default" + */ + resourceNames?: string[] | null; + /** + * The plain text search to use for the query. There is no support for multiple search terms. This uses the SEARCH functionality in BigQuery. For example, a search_term = 'ERROR' would result in the following SQL:SELECT * FROM resource WHERE SEARCH(resource, 'ERROR') LIMIT 100 + */ + searchTerm?: string | null; + } /** * Describes a recent query executed on the Logs Explorer or Log Analytics page within the last ~ 30 days. */ @@ -1576,7 +1726,7 @@ export namespace logging_v2 { */ loggingQuery?: Schema$LoggingQuery; /** - * Output only. Resource name of the recent query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID. + * Output only. Resource name of the recent query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID. */ name?: string | null; /** @@ -1746,7 +1896,7 @@ export namespace logging_v2 { */ loggingQuery?: Schema$LoggingQuery; /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string | null; /** @@ -1788,11 +1938,11 @@ export namespace logging_v2 { */ disableDefaultSink?: boolean | null; /** - * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsKeyName?: string | null; /** - * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsServiceAccountId?: string | null; /** @@ -1808,6 +1958,19 @@ export namespace logging_v2 { */ storageLocation?: string | null; } + /** + * A sort order for a query based on a column. + */ + export interface Schema$SortOrderParameter { + /** + * The field to sort on. Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value. + */ + fieldSource?: Schema$FieldSource; + /** + * The sort order to use for the query. + */ + sortOrderDirection?: string | null; + } /** * Specifies a location in a source code file. */ @@ -1856,7 +2019,7 @@ export namespace logging_v2 { message?: string | null; } /** - * A field from the LogEntry that is added to the summary line (https://cloud.google.com/logging/docs/view/logs-explorer-interface#add-summary-fields) for a query in the Logs Explorer. + * A field from the LogEntry that is added to the summary line (https://docs.cloud.google.com/logging/docs/view/logs-explorer-interface#preferences) for a query in the Logs Explorer. */ export interface Schema$SummaryField { /** @@ -1995,7 +2158,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -2140,7 +2303,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -3270,7 +3433,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -7748,7 +7911,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.billingAccounts.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'billingAccounts/my-billingAccount/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -7924,7 +8087,7 @@ export namespace logging_v2 { } export interface Params$Resource$Billingaccounts$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -8295,7 +8458,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'billingAccounts/my-billingAccount', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -8909,7 +9072,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'billingAccounts/my-billingAccount/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -9086,7 +9249,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'billingAccounts/my-billingAccount/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -9236,7 +9399,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -9285,7 +9448,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -9308,7 +9471,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -10762,7 +10925,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -10907,7 +11070,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -11055,7 +11218,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: @@ -12212,7 +12375,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -17963,7 +18126,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.folders.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'folders/my-folder/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -18138,7 +18301,7 @@ export namespace logging_v2 { } export interface Params$Resource$Folders$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -18509,7 +18672,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'folders/my-folder', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -19123,7 +19286,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'folders/my-folder/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -19300,7 +19463,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'folders/my-folder/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -19450,7 +19613,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -19499,7 +19662,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -19522,7 +19685,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -19689,7 +19852,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -24137,7 +24300,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -24282,7 +24445,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -24430,7 +24593,7 @@ export namespace logging_v2 { } /** - * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -24588,7 +24751,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: @@ -25764,7 +25927,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -31540,7 +31703,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.organizations.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'organizations/my-organization/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -31716,7 +31879,7 @@ export namespace logging_v2 { } export interface Params$Resource$Organizations$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -32087,7 +32250,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'organizations/my-organization', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -32701,7 +32864,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'organizations/my-organization/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -32878,7 +33041,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'organizations/my-organization/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -33028,7 +33191,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -33077,7 +33240,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -33100,7 +33263,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -33131,7 +33294,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -33276,7 +33439,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -34406,7 +34569,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -40159,7 +40322,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.projects.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'projects/my-project/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -40334,7 +40497,7 @@ export namespace logging_v2 { } export interface Params$Resource$Projects$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -41540,7 +41703,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'projects/my-project', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -42154,7 +42317,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'projects/my-project/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -42331,7 +42494,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'projects/my-project/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -42481,7 +42644,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -42530,7 +42693,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -42553,7 +42716,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -42611,7 +42774,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: '[^/]+/[^/]+', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -43221,7 +43384,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: '[^/]+/[^/]+/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -43370,7 +43533,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -43419,7 +43582,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -43440,7 +43603,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -43585,7 +43748,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -43732,7 +43895,7 @@ export namespace logging_v2 { } /** - * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -43890,7 +44053,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: diff --git a/src/apis/managedidentities/v1.ts b/src/apis/managedidentities/v1.ts index a766cee2ae3..8db2a2eb9c9 100644 --- a/src/apis/managedidentities/v1.ts +++ b/src/apis/managedidentities/v1.ts @@ -518,6 +518,10 @@ export namespace managedidentities_v1 { * consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites). */ consumerDefinedName?: string | null; + /** + * Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required. + */ + consumerProjectNumber?: string | null; /** * Output only. Timestamp when the resource was created. */ @@ -803,6 +807,10 @@ export namespace managedidentities_v1 { * 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; } /** * ListPeeringsResponse is the response message for ListPeerings method. @@ -1431,7 +1439,7 @@ export namespace managedidentities_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1461,6 +1469,8 @@ export namespace managedidentities_v1 { * * // Do the magic * const res = await managedidentities.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. + * 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. @@ -1585,6 +1595,10 @@ export namespace managedidentities_v1 { name?: string; } 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. + */ + 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). */ @@ -7183,6 +7197,8 @@ export namespace managedidentities_v1 { * 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); @@ -7190,7 +7206,8 @@ export namespace managedidentities_v1 { * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -7331,6 +7348,10 @@ export namespace managedidentities_v1 { * 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$Projects$Locations$Global$Peerings { diff --git a/src/apis/managedidentities/v1alpha1.ts b/src/apis/managedidentities/v1alpha1.ts index f73d8ef1e96..82c792dcf7a 100644 --- a/src/apis/managedidentities/v1alpha1.ts +++ b/src/apis/managedidentities/v1alpha1.ts @@ -520,6 +520,10 @@ export namespace managedidentities_v1alpha1 { * consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites). */ consumerDefinedName?: string | null; + /** + * Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required. + */ + consumerProjectNumber?: string | null; /** * Output only. Timestamp when the resource was created. */ @@ -802,6 +806,10 @@ export namespace managedidentities_v1alpha1 { * 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; } /** * ListPeeringsResponse is the response message for ListPeerings method. @@ -1414,7 +1422,7 @@ export namespace managedidentities_v1alpha1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1444,6 +1452,8 @@ export namespace managedidentities_v1alpha1 { * * // Do the magic * const res = await managedidentities.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. + * 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. @@ -1568,6 +1578,10 @@ export namespace managedidentities_v1alpha1 { name?: string; } 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. + */ + 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). */ @@ -7171,6 +7185,8 @@ export namespace managedidentities_v1alpha1 { * 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); @@ -7178,7 +7194,8 @@ export namespace managedidentities_v1alpha1 { * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -7322,6 +7339,10 @@ export namespace managedidentities_v1alpha1 { * 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$Projects$Locations$Global$Peerings { diff --git a/src/apis/managedidentities/v1beta1.ts b/src/apis/managedidentities/v1beta1.ts index 01635895b4c..c388e0bbffb 100644 --- a/src/apis/managedidentities/v1beta1.ts +++ b/src/apis/managedidentities/v1beta1.ts @@ -526,6 +526,10 @@ export namespace managedidentities_v1beta1 { * consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites). */ consumerDefinedName?: string | null; + /** + * Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required. + */ + consumerProjectNumber?: string | null; /** * Output only. Timestamp when the resource was created. */ @@ -811,6 +815,10 @@ export namespace managedidentities_v1beta1 { * 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; } /** * ListPeeringsResponse is the response message for ListPeerings method. @@ -1439,7 +1447,7 @@ export namespace managedidentities_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1469,6 +1477,8 @@ export namespace managedidentities_v1beta1 { * * // Do the magic * const res = await managedidentities.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. + * 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. @@ -1593,6 +1603,10 @@ export namespace managedidentities_v1beta1 { name?: string; } 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. + */ + 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). */ @@ -7197,6 +7211,8 @@ export namespace managedidentities_v1beta1 { * 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); @@ -7204,7 +7220,8 @@ export namespace managedidentities_v1beta1 { * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -7345,6 +7362,10 @@ export namespace managedidentities_v1beta1 { * 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$Projects$Locations$Global$Peerings { diff --git a/src/apis/memcache/v1.ts b/src/apis/memcache/v1.ts index 96348a81d8e..b3e23f22c1a 100644 --- a/src/apis/memcache/v1.ts +++ b/src/apis/memcache/v1.ts @@ -1184,7 +1184,7 @@ export namespace memcache_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/memcache/v1beta2.ts b/src/apis/memcache/v1beta2.ts index 03cb8077ce9..454bf658876 100644 --- a/src/apis/memcache/v1beta2.ts +++ b/src/apis/memcache/v1beta2.ts @@ -1205,7 +1205,7 @@ export namespace memcache_v1beta2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/merchantapi/accounts_v1.ts b/src/apis/merchantapi/accounts_v1.ts index e6fe0ea4edb..799c7fdf454 100644 --- a/src/apis/merchantapi/accounts_v1.ts +++ b/src/apis/merchantapi/accounts_v1.ts @@ -174,7 +174,7 @@ export namespace merchantapi_accounts_v1 { */ accountId?: string | null; /** - * Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information. + * Required. A human-readable name of the account. Don't use punctuation, capitalization, or non-alphanumeric symbols such as the "/" or "_" symbols. See [Adding a business name](https://support.google.com/merchants/answer/12159159) for more information. */ accountName?: string | null; /** @@ -639,7 +639,7 @@ export namespace merchantapi_accounts_v1 { */ effectiveUriSettings?: Schema$UriSettings; /** - * Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS` + * Optional. Required for the create operation. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies. Valid destination values are `SHOPPING_ADS` and `FREE_LISTINGS`. */ eligibleDestinations?: string[] | null; /** @@ -681,7 +681,7 @@ export namespace merchantapi_accounts_v1 { */ account?: Schema$Account; /** - * Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided. + * Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `products_management` services may be provided. */ service?: Schema$AddAccountService[]; /** @@ -1689,7 +1689,7 @@ export namespace merchantapi_accounts_v1 { resourceType?: string | null; } /** - * Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `shopping-ads` * `youtube-shopping-checkout` + * Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `product-ratings` * `shopping-ads` * `youtube-shopping-checkout` */ export interface Schema$Program { /** @@ -1777,7 +1777,7 @@ export namespace merchantapi_accounts_v1 { subtables?: Schema$Table[]; } /** - * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. + * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. */ export interface Schema$Region { /** diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index 88eb199267c..89862dd05f8 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -174,7 +174,7 @@ export namespace merchantapi_accounts_v1beta { */ accountId?: string | null; /** - * Required. A human-readable name of the account. See [store name](https://support.google.com/merchants/answer/160556) and [business name](https://support.google.com/merchants/answer/12159159) for more information. + * Required. A human-readable name of the account. Don't use punctuation, capitalization, or non-alphanumeric symbols such as the "/" or "_" symbols. See [Adding a business name](https://support.google.com/merchants/answer/12159159) for more information. */ accountName?: string | null; /** @@ -594,7 +594,7 @@ export namespace merchantapi_accounts_v1beta { */ effectiveUriSettings?: Schema$UriSettings; /** - * Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS` + * Optional. Required for the create operation. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies. Valid destination values are `SHOPPING_ADS` and `FREE_LISTINGS`. */ eligibleDestinations?: string[] | null; /** @@ -636,7 +636,7 @@ export namespace merchantapi_accounts_v1beta { */ account?: Schema$Account; /** - * Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `product_management` services may be provided. + * Required. An account service between the account to be created and the provider account is initialized as part of the creation. At least one such service needs to be provided. Currently exactly one of these needs to be `account_aggregation` and `accounts.createAndConfigure` method can be used to create a sub-account under an existing advanced account through this method. Additional `account_management` or `products_management` services may be provided. */ service?: Schema$AddAccountService[]; /** @@ -1639,7 +1639,7 @@ export namespace merchantapi_accounts_v1beta { resourceType?: string | null; } /** - * Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `shopping-ads` * `youtube-shopping-checkout` + * Defines participation in a given program for the specified account. Programs provide a mechanism for adding functionality to a Merchant Center accounts. A typical example of this is the [Free product listings](https://support.google.com/merchants/answer/13889434) program, which enables products from a business's store to be shown across Google for free. The following list is the available set of program resource IDs accessible through the API: * `checkout` * `free-listings` * `product-ratings` * `shopping-ads` * `youtube-shopping-checkout` */ export interface Schema$Program { /** @@ -1727,7 +1727,7 @@ export namespace merchantapi_accounts_v1beta { subtables?: Schema$Table[]; } /** - * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. + * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. */ export interface Schema$Region { /** diff --git a/src/apis/merchantapi/promotions_v1.ts b/src/apis/merchantapi/promotions_v1.ts index 730a64c84e7..fa610c0ce4b 100644 --- a/src/apis/merchantapi/promotions_v1.ts +++ b/src/apis/merchantapi/promotions_v1.ts @@ -140,6 +140,14 @@ export namespace merchantapi_promotions_v1 { * Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920). */ couponValueType?: string | null; + /** + * Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set. + */ + customRedemptionRestriction?: string | null; + /** + * Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set. + */ + eventApplicability?: string | null; /** * Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -160,6 +168,10 @@ export namespace merchantapi_promotions_v1 { * Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`. */ getThisQuantityDiscounted?: string | null; + /** + * Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en). + */ + googleProductCategories?: string[] | null; /** * Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion. */ @@ -188,6 +200,10 @@ export namespace merchantapi_promotions_v1 { * Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ longTitle?: string | null; + /** + * Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type. + */ + maxDiscountAmount?: Schema$Price; /** * Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -206,7 +222,7 @@ export namespace merchantapi_promotions_v1 { */ percentOff?: string | null; /** - * Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). + * Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set. */ productApplicability?: string | null; /** @@ -233,6 +249,10 @@ export namespace merchantapi_promotions_v1 { * Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed. */ promotionUrl?: string | null; + /** + * Optional. A restriction customers must meet before they can redeem the promotion. + */ + redemptionRestriction?: string | null; /** * Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value. */ diff --git a/src/apis/merchantapi/promotions_v1beta.ts b/src/apis/merchantapi/promotions_v1beta.ts index 8bed0c0a2f5..3d9d7fa69aa 100644 --- a/src/apis/merchantapi/promotions_v1beta.ts +++ b/src/apis/merchantapi/promotions_v1beta.ts @@ -140,6 +140,14 @@ export namespace merchantapi_promotions_v1beta { * Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920). */ couponValueType?: string | null; + /** + * Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set. + */ + customRedemptionRestriction?: string | null; + /** + * Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set. + */ + eventApplicability?: string | null; /** * Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -160,6 +168,10 @@ export namespace merchantapi_promotions_v1beta { * Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`. */ getThisQuantityDiscounted?: string | null; + /** + * Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en). + */ + googleProductCategories?: string[] | null; /** * Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion. */ @@ -188,6 +200,10 @@ export namespace merchantapi_promotions_v1beta { * Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ longTitle?: string | null; + /** + * Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type. + */ + maxDiscountAmount?: Schema$Price; /** * Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -206,7 +222,7 @@ export namespace merchantapi_promotions_v1beta { */ percentOff?: string | null; /** - * Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). + * Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set. */ productApplicability?: string | null; /** @@ -233,6 +249,10 @@ export namespace merchantapi_promotions_v1beta { * Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed. */ promotionUrl?: string | null; + /** + * Optional. A restriction customers must meet before they can redeem the promotion. + */ + redemptionRestriction?: string | null; /** * Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value. */ diff --git a/src/apis/metastore/v1.ts b/src/apis/metastore/v1.ts index 46e0cefe2d8..d408a0baca7 100644 --- a/src/apis/metastore/v1.ts +++ b/src/apis/metastore/v1.ts @@ -1543,7 +1543,7 @@ export namespace metastore_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/metastore/v1alpha.ts b/src/apis/metastore/v1alpha.ts index 01e56e3ebf9..c2f634e8f27 100644 --- a/src/apis/metastore/v1alpha.ts +++ b/src/apis/metastore/v1alpha.ts @@ -1652,7 +1652,7 @@ export namespace metastore_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/metastore/v1beta.ts b/src/apis/metastore/v1beta.ts index d8490cbac4e..a95199bc2a7 100644 --- a/src/apis/metastore/v1beta.ts +++ b/src/apis/metastore/v1beta.ts @@ -1652,7 +1652,7 @@ export namespace metastore_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/monitoring/v3.ts b/src/apis/monitoring/v3.ts index edccc602e7c..f27ce669069 100644 --- a/src/apis/monitoring/v3.ts +++ b/src/apis/monitoring/v3.ts @@ -1773,7 +1773,7 @@ export namespace monitoring_v3 { */ notificationChannelNames?: string[] | null; /** - * The frequency at which to send reminder notifications for open incidents. + * The frequency at which to send reminder notifications for open incidents. The value must be between 30 minutes and 24 hours. */ renotifyInterval?: string | null; } diff --git a/src/apis/netapp/v1.ts b/src/apis/netapp/v1.ts index b70d5eb7df2..0ec8a61c190 100644 --- a/src/apis/netapp/v1.ts +++ b/src/apis/netapp/v1.ts @@ -550,6 +550,23 @@ export namespace netapp_v1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Details about a clone volume. + */ + export interface Schema$CloneDetails { + /** + * Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot. + */ + sharedSpaceGib?: string | null; + /** + * Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project\}/locations/{location\}/volumes/{volume\}/snapshots/{snapshot\} + */ + sourceSnapshot?: string | null; + /** + * Output only. Full name of the source volume resource. Format: projects/{project\}/locations/{location\}/volumes/{volume\} + */ + sourceVolume?: string | null; + } /** * Make a snapshot every day e.g. at 04:00, 05:20, 23:50 */ @@ -1755,6 +1772,10 @@ export namespace netapp_v1 { * Required. Capacity in GIB of the volume */ capacityGib?: string | null; + /** + * Output only. If this volume is a clone, this field contains details about the clone. + */ + cloneDetails?: Schema$CloneDetails; /** * Output only. Size of the volume cold tier data rounded down to the nearest GiB. */ @@ -9465,6 +9486,7 @@ export namespace netapp_v1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", @@ -9948,6 +9970,7 @@ export namespace netapp_v1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", @@ -10272,6 +10295,7 @@ export namespace netapp_v1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", diff --git a/src/apis/netapp/v1beta1.ts b/src/apis/netapp/v1beta1.ts index 7ec3f10a33d..52f17528cd8 100644 --- a/src/apis/netapp/v1beta1.ts +++ b/src/apis/netapp/v1beta1.ts @@ -550,6 +550,23 @@ export namespace netapp_v1beta1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Details about a clone volume. + */ + export interface Schema$CloneDetails { + /** + * Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot. + */ + sharedSpaceGib?: string | null; + /** + * Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project\}/locations/{location\}/volumes/{volume\}/snapshots/{snapshot\} + */ + sourceSnapshot?: string | null; + /** + * Output only. Full name of the source volume resource. Format: projects/{project\}/locations/{location\}/volumes/{volume\} + */ + sourceVolume?: string | null; + } /** * Make a snapshot every day e.g. at 04:00, 05:20, 23:50 */ @@ -638,6 +655,60 @@ export namespace netapp_v1beta1 { */ peerVolumeName?: string | null; } + /** + * Response message for `ExecuteOntapDelete` API. + */ + export interface Schema$ExecuteOntapDeleteResponse { + /** + * The raw `JSON` body of the response. + */ + body?: {[key: string]: any} | null; + } + /** + * Response message for `ExecuteOntapGet` API. + */ + export interface Schema$ExecuteOntapGetResponse { + /** + * The raw `JSON` body of the response. + */ + body?: {[key: string]: any} | null; + } + /** + * Request message for `ExecuteOntapPatch` API. + */ + export interface Schema$ExecuteOntapPatchRequest { + /** + * Required. The raw `JSON` body of the request. The body should be in the format of the ONTAP resource. For example: ``` { "body": { "field1": "value1", "field2": "value2", \} \} ``` + */ + body?: {[key: string]: any} | null; + } + /** + * Response message for `ExecuteOntapPatch` API. + */ + export interface Schema$ExecuteOntapPatchResponse { + /** + * The raw `JSON` body of the response. + */ + body?: {[key: string]: any} | null; + } + /** + * Request message for `ExecuteOntapPost` API. + */ + export interface Schema$ExecuteOntapPostRequest { + /** + * Required. The raw `JSON` body of the request. The body should be in the format of the ONTAP resource. For example: ``` { "body": { "field1": "value1", "field2": "value2", \} \} ``` + */ + body?: {[key: string]: any} | null; + } + /** + * Response message for `ExecuteOntapPost` API. + */ + export interface Schema$ExecuteOntapPostResponse { + /** + * The raw `JSON` body of the response. + */ + body?: {[key: string]: any} | null; + } /** * Defines the export policy for the volume. */ @@ -824,6 +895,15 @@ export namespace netapp_v1beta1 { */ stateDetails?: string | null; } + /** + * Configuration for a Large Capacity Volume. A Large Capacity Volume supports sizes ranging from 12 TiB to 20 PiB, it is composed of multiple internal constituents, and must be created in a large capacity pool. + */ + export interface Schema$LargeCapacityConfig { + /** + * Optional. The number of internal constituents (e.g., FlexVols) for this large volume. The minimum number of constituents is 2. + */ + constituentCount?: number | null; + } /** * ListActiveDirectoriesResponse contains all the active directories requested. */ @@ -1565,6 +1645,10 @@ export namespace netapp_v1beta1 { * Optional. Flag indicating if the pool is NFS LDAP enabled or not. */ ldapEnabled?: boolean | null; + /** + * Optional. Mode of the storage pool. This field is used to control whether the user can perform the ONTAP operations on the storage pool using the GCNV ONTAP Mode APIs. If not specified during creation, it defaults to `DEFAULT`. + */ + mode?: string | null; /** * Identifier. Name of the storage pool */ @@ -1593,6 +1677,10 @@ export namespace netapp_v1beta1 { * Output only. Reserved for future use */ satisfiesPzs?: boolean | null; + /** + * Optional. The effective scale tier of the storage pool. If `scale_tier` is not specified during creation, this defaults to `SCALE_TIER_STANDARD`. + */ + scaleTier?: string | null; /** * Required. Service level of the storage pool */ @@ -1755,6 +1843,10 @@ export namespace netapp_v1beta1 { * Required. Capacity in GIB of the volume */ capacityGib?: string | null; + /** + * Output only. If this volume is a clone, this field contains details about the clone. + */ + cloneDetails?: Schema$CloneDetails; /** * Output only. Size of the volume cold tier data rounded down to the nearest GiB. */ @@ -1803,6 +1895,10 @@ export namespace netapp_v1beta1 { * Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. */ largeCapacity?: boolean | null; + /** + * Optional. Large capacity config for the volume. + */ + largeCapacityConfig?: Schema$LargeCapacityConfig; /** * Output only. Flag indicating if the volume is NFS LDAP enabled or not. */ @@ -8206,8 +8302,12 @@ export namespace netapp_v1beta1 { export class Resource$Projects$Locations$Storagepools { context: APIRequestContext; + ontap: Resource$Projects$Locations$Storagepools$Ontap; constructor(context: APIRequestContext) { this.context = context; + this.ontap = new Resource$Projects$Locations$Storagepools$Ontap( + this.context + ); } /** @@ -8266,6 +8366,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "ldapEnabled": false, + * // "mode": "my_mode", * // "name": "my_name", * // "network": "my_network", * // "psaRange": "my_psaRange", @@ -8273,6 +8374,7 @@ export namespace netapp_v1beta1 { * // "replicaZone": "my_replicaZone", * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "scaleTier": "my_scaleTier", * // "serviceLevel": "my_serviceLevel", * // "state": "my_state", * // "stateDetails": "my_stateDetails", @@ -8584,6 +8686,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "ldapEnabled": false, + * // "mode": "my_mode", * // "name": "my_name", * // "network": "my_network", * // "psaRange": "my_psaRange", @@ -8591,6 +8694,7 @@ export namespace netapp_v1beta1 { * // "replicaZone": "my_replicaZone", * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "scaleTier": "my_scaleTier", * // "serviceLevel": "my_serviceLevel", * // "state": "my_state", * // "stateDetails": "my_stateDetails", @@ -8900,6 +9004,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "ldapEnabled": false, + * // "mode": "my_mode", * // "name": "my_name", * // "network": "my_network", * // "psaRange": "my_psaRange", @@ -8907,6 +9012,7 @@ export namespace netapp_v1beta1 { * // "replicaZone": "my_replicaZone", * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "scaleTier": "my_scaleTier", * // "serviceLevel": "my_serviceLevel", * // "state": "my_state", * // "stateDetails": "my_stateDetails", @@ -9410,6 +9516,640 @@ export namespace netapp_v1beta1 { requestBody?: Schema$ValidateDirectoryServiceRequest; } + export class Resource$Projects$Locations$Storagepools$Ontap { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * `ExecuteOntapDelete` dispatches the ONTAP `DELETE` request to the `StoragePool` cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/netapp.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const netapp = google.netapp('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 netapp.projects.locations.storagePools.ontap.executeOntapDelete({ + * // Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + * ontapPath: + * 'projects/my-project/locations/my-location/storagePools/my-storagePool/ontap/.*', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeOntapDelete( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete, + options: StreamMethodOptions + ): Promise>; + executeOntapDelete( + params?: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete, + options?: MethodOptions + ): Promise>; + executeOntapDelete( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapDelete( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapDelete( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete, + callback: BodyResponseCallback + ): void; + executeOntapDelete( + callback: BodyResponseCallback + ): void; + executeOntapDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+ontapPath}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['ontapPath'], + pathParams: ['ontapPath'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * `ExecuteOntapGet` dispatches the ONTAP `GET` request to the `StoragePool` cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/netapp.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const netapp = google.netapp('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 netapp.projects.locations.storagePools.ontap.executeOntapGet({ + * // Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + * ontapPath: + * 'projects/my-project/locations/my-location/storagePools/my-storagePool/ontap/.*', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeOntapGet( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget, + options: StreamMethodOptions + ): Promise>; + executeOntapGet( + params?: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget, + options?: MethodOptions + ): Promise>; + executeOntapGet( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapGet( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapGet( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget, + callback: BodyResponseCallback + ): void; + executeOntapGet( + callback: BodyResponseCallback + ): void; + executeOntapGet( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+ontapPath}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['ontapPath'], + pathParams: ['ontapPath'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * `ExecuteOntapPatch` dispatches the ONTAP `PATCH` request to the `StoragePool` cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/netapp.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const netapp = google.netapp('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 netapp.projects.locations.storagePools.ontap.executeOntapPatch({ + * // Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + * ontapPath: + * 'projects/my-project/locations/my-location/storagePools/my-storagePool/ontap/.*', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeOntapPatch( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch, + options: StreamMethodOptions + ): Promise>; + executeOntapPatch( + params?: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch, + options?: MethodOptions + ): Promise>; + executeOntapPatch( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapPatch( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapPatch( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch, + callback: BodyResponseCallback + ): void; + executeOntapPatch( + callback: BodyResponseCallback + ): void; + executeOntapPatch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+ontapPath}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['ontapPath'], + pathParams: ['ontapPath'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * `ExecuteOntapPost` dispatches the ONTAP `POST` request to the `StoragePool` cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/netapp.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const netapp = google.netapp('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 netapp.projects.locations.storagePools.ontap.executeOntapPost({ + * // Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + * ontapPath: + * 'projects/my-project/locations/my-location/storagePools/my-storagePool/ontap/.*', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeOntapPost( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost, + options: StreamMethodOptions + ): Promise>; + executeOntapPost( + params?: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost, + options?: MethodOptions + ): Promise>; + executeOntapPost( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapPost( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeOntapPost( + params: Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost, + callback: BodyResponseCallback + ): void; + executeOntapPost( + callback: BodyResponseCallback + ): void; + executeOntapPost( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+ontapPath}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['ontapPath'], + pathParams: ['ontapPath'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapdelete extends StandardParameters { + /** + * Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + */ + ontapPath?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontapget extends StandardParameters { + /** + * Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + */ + ontapPath?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappatch extends StandardParameters { + /** + * Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + */ + ontapPath?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteOntapPatchRequest; + } + export interface Params$Resource$Projects$Locations$Storagepools$Ontap$Executeontappost extends StandardParameters { + /** + * Required. The resource path of the ONTAP resource. Format: `projects/{project_number\}/locations/{location_id\}/storagePools/{storage_pool_id\}/ontap/{ontap_resource_path\}`. For example: `projects/123456789/locations/us-central1/storagePools/my-storage-pool/ontap/api/storage/volumes`. + */ + ontapPath?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteOntapPostRequest; + } + export class Resource$Projects$Locations$Volumes { context: APIRequestContext; quotaRules: Resource$Projects$Locations$Volumes$Quotarules; @@ -9473,6 +10213,7 @@ export namespace netapp_v1beta1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", @@ -9485,6 +10226,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "largeCapacity": false, + * // "largeCapacityConfig": {}, * // "ldapEnabled": false, * // "mountOptions": [], * // "multipleEndpoints": false, @@ -9956,6 +10698,7 @@ export namespace netapp_v1beta1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", @@ -9968,6 +10711,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "largeCapacity": false, + * // "largeCapacityConfig": {}, * // "ldapEnabled": false, * // "mountOptions": [], * // "multipleEndpoints": false, @@ -10280,6 +11024,7 @@ export namespace netapp_v1beta1 { * // "blockDevices": [], * // "cacheParameters": {}, * // "capacityGib": "my_capacityGib", + * // "cloneDetails": {}, * // "coldTierSizeGib": "my_coldTierSizeGib", * // "createTime": "my_createTime", * // "description": "my_description", @@ -10292,6 +11037,7 @@ export namespace netapp_v1beta1 { * // "kmsConfig": "my_kmsConfig", * // "labels": {}, * // "largeCapacity": false, + * // "largeCapacityConfig": {}, * // "ldapEnabled": false, * // "mountOptions": [], * // "multipleEndpoints": false, diff --git a/src/apis/networkconnectivity/v1.ts b/src/apis/networkconnectivity/v1.ts index 4d062721677..379639bc69a 100644 --- a/src/apis/networkconnectivity/v1.ts +++ b/src/apis/networkconnectivity/v1.ts @@ -2770,7 +2770,7 @@ export namespace networkconnectivity_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 9738d751365..d98d104fde0 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -2108,6 +2108,10 @@ export namespace networksecurity_v1 { * Output only. Last resource update timestamp. */ updateTime?: string | null; + /** + * The URL filtering configuration for the SecurityProfile. + */ + urlFilteringProfile?: Schema$UrlFilteringProfile; } /** * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. @@ -2153,6 +2157,10 @@ export namespace networksecurity_v1 { * Output only. Last resource update timestamp. */ updateTime?: string | null; + /** + * Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + */ + urlFilteringProfile?: 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. @@ -2313,6 +2321,32 @@ export namespace networksecurity_v1 { */ updateTime?: string | null; } + /** + * A URL filter defines an action to take for some URL match. + */ + export interface Schema$UrlFilter { + /** + * Required. The action taken when this filter is applied. + */ + filteringAction?: string | null; + /** + * Required. The priority of this filter within the URL Filtering Profile. Lower integers indicate higher priorities. The priority of a filter must be unique within a URL Filtering Profile. + */ + priority?: number | null; + /** + * Required. The list of strings that a URL must match with for this filter to be applied. + */ + urls?: string[] | null; + } + /** + * UrlFilteringProfile defines filters based on URL. + */ + export interface Schema$UrlFilteringProfile { + /** + * Optional. The list of filtering configs in which each config defines an action to take for some URL match. + */ + urlFilters?: Schema$UrlFilter[]; + } /** * UrlList proto helps users to set reusable, independently manageable lists of hosts, host patterns, URLs, URL patterns. */ @@ -3906,7 +3940,7 @@ export namespace networksecurity_v1 { } /** - * Creates a new FirewallEndpoint in a given project and location. + * Creates a new FirewallEndpoint in a given organization and location. * @example * ```js * // Before running the sample: @@ -4074,7 +4108,7 @@ export namespace networksecurity_v1 { } /** - * Deletes a single Endpoint. + * Deletes a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4217,7 +4251,7 @@ export namespace networksecurity_v1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4366,7 +4400,7 @@ export namespace networksecurity_v1 { } /** - * Lists FirewallEndpoints in a given project and location. + * Lists FirewallEndpoints in a given organization and location. * @example * ```js * // Before running the sample: @@ -4522,7 +4556,7 @@ export namespace networksecurity_v1 { } /** - * Update a single Endpoint. + * Update a single org Endpoint. * @example * ```js * // Before running the sample: @@ -5436,7 +5470,8 @@ export namespace networksecurity_v1 { * // "labels": {}, * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile" * // } * }, * }); @@ -5740,7 +5775,8 @@ export namespace networksecurity_v1 { * // "labels": {}, * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile" * // } * } * @@ -6045,7 +6081,8 @@ export namespace networksecurity_v1 { * // "labels": {}, * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile" * // } * }, * }); @@ -6273,7 +6310,8 @@ export namespace networksecurity_v1 { * // "name": "my_name", * // "threatPreventionProfile": {}, * // "type": "my_type", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {} * // } * }, * }); @@ -6577,7 +6615,8 @@ export namespace networksecurity_v1 { * // "name": "my_name", * // "threatPreventionProfile": {}, * // "type": "my_type", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {} * // } * } * @@ -6876,7 +6915,8 @@ export namespace networksecurity_v1 { * // "name": "my_name", * // "threatPreventionProfile": {}, * // "type": "my_type", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {} * // } * }, * }); @@ -16113,7 +16153,7 @@ export namespace networksecurity_v1 { } /** - * Deletes a single Endpoint. + * Deletes a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16257,7 +16297,7 @@ export namespace networksecurity_v1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16559,7 +16599,7 @@ export namespace networksecurity_v1 { } /** - * Update a single Endpoint. + * Update a single project Endpoint. * @example * ```js * // Before running the sample: diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index 68566966390..749a2d89273 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -4099,7 +4099,7 @@ export namespace networksecurity_v1beta1 { } /** - * Creates a new FirewallEndpoint in a given project and location. + * Creates a new FirewallEndpoint in a given organization and location. * @example * ```js * // Before running the sample: @@ -4267,7 +4267,7 @@ export namespace networksecurity_v1beta1 { } /** - * Deletes a single Endpoint. + * Deletes a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4410,7 +4410,7 @@ export namespace networksecurity_v1beta1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4559,7 +4559,7 @@ export namespace networksecurity_v1beta1 { } /** - * Lists FirewallEndpoints in a given project and location. + * Lists FirewallEndpoints in a given organization and location. * @example * ```js * // Before running the sample: @@ -4715,7 +4715,7 @@ export namespace networksecurity_v1beta1 { } /** - * Update a single Endpoint. + * Update a single org Endpoint. * @example * ```js * // Before running the sample: @@ -16321,7 +16321,7 @@ export namespace networksecurity_v1beta1 { } /** - * Deletes a single Endpoint. + * Deletes a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16465,7 +16465,7 @@ export namespace networksecurity_v1beta1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16767,7 +16767,7 @@ export namespace networksecurity_v1beta1 { } /** - * Update a single Endpoint. + * Update a single project Endpoint. * @example * ```js * // Before running the sample: diff --git a/src/apis/networkservices/v1.ts b/src/apis/networkservices/v1.ts index 5f325324511..ce12e3e7475 100644 --- a/src/apis/networkservices/v1.ts +++ b/src/apis/networkservices/v1.ts @@ -2062,6 +2062,10 @@ export namespace networkservices_v1 { * Output only. Server-defined URL of this resource */ selfLink?: string | null; + /** + * Optional. TargetProxies defines a list of TargetTcpProxies this TlsRoute is attached to, as one of the routing rules to route the requests served by the TargetTcpProxy. Each TargetTcpProxy reference should match the pattern: `projects/x/locations/x/targetTcpProxies/` + */ + targetProxies?: string[] | null; /** * Output only. The timestamp when the resource was updated. */ @@ -2497,7 +2501,7 @@ export namespace networkservices_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -15425,6 +15429,7 @@ export namespace networkservices_v1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * }, @@ -15722,6 +15727,7 @@ export namespace networkservices_v1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * } @@ -16015,6 +16021,7 @@ export namespace networkservices_v1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * }, diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index f6d475ba666..94b634cbeb1 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -2008,6 +2008,10 @@ export namespace networkservices_v1beta1 { * Output only. Server-defined URL of this resource */ selfLink?: string | null; + /** + * Optional. TargetProxies defines a list of TargetTcpProxies this TlsRoute is attached to, as one of the routing rules to route the requests served by the TargetTcpProxy. Each TargetTcpProxy reference should match the pattern: `projects/x/locations/x/targetTcpProxies/` + */ + targetProxies?: string[] | null; /** * Output only. The timestamp when the resource was updated. */ @@ -2444,7 +2448,7 @@ export namespace networkservices_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -14736,6 +14740,7 @@ export namespace networkservices_v1beta1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * }, @@ -15033,6 +15038,7 @@ export namespace networkservices_v1beta1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * } @@ -15326,6 +15332,7 @@ export namespace networkservices_v1beta1 { * // "name": "my_name", * // "rules": [], * // "selfLink": "my_selfLink", + * // "targetProxies": [], * // "updateTime": "my_updateTime" * // } * }, diff --git a/src/apis/notebooks/v1.ts b/src/apis/notebooks/v1.ts index 637351a86ad..50bc662d302 100644 --- a/src/apis/notebooks/v1.ts +++ b/src/apis/notebooks/v1.ts @@ -1931,7 +1931,7 @@ export namespace notebooks_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/notebooks/v2.ts b/src/apis/notebooks/v2.ts index ecc3e5ec303..0821fbbf525 100644 --- a/src/apis/notebooks/v2.ts +++ b/src/apis/notebooks/v2.ts @@ -623,7 +623,7 @@ export namespace notebooks_v2 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables, + * Unordered list. Locations that could not be reached. For example, ['projects/{project_id\}/locations/us-west1-a', 'projects/{project_id\}/locations/us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables, */ unreachable?: string[] | null; } @@ -1191,7 +1191,7 @@ export namespace notebooks_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2766,7 +2766,7 @@ export namespace notebooks_v2 { * pageSize: 'placeholder-value', * // Optional. A previous returned page token that can be used to continue listing from the last result. * pageToken: 'placeholder-value', - * // Required. Format: `parent=projects/{project_id\}/locations/{location\}` + * // Required. The parent of the instance. Formats: - `projects/{project_id\}/locations/{location\}` to list instances in a specific zone. - `projects/{project_id\}/locations/-` to list instances in all locations. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -4782,7 +4782,7 @@ export namespace notebooks_v2 { */ pageToken?: string; /** - * Required. Format: `parent=projects/{project_id\}/locations/{location\}` + * Required. The parent of the instance. Formats: - `projects/{project_id\}/locations/{location\}` to list instances in a specific zone. - `projects/{project_id\}/locations/-` to list instances in all locations. */ parent?: string; } diff --git a/src/apis/ondemandscanning/v1.ts b/src/apis/ondemandscanning/v1.ts index 7539dea4981..da86ea477f5 100644 --- a/src/apis/ondemandscanning/v1.ts +++ b/src/apis/ondemandscanning/v1.ts @@ -250,6 +250,10 @@ export namespace ondemandscanning_v1 { * The name of the base image. */ name?: string | null; + /** + * The registry in which the base image is from. + */ + registry?: string | null; /** * The repository name in which the base image is from. */ diff --git a/src/apis/ondemandscanning/v1beta1.ts b/src/apis/ondemandscanning/v1beta1.ts index 5a255b7c533..1263fd76cb0 100644 --- a/src/apis/ondemandscanning/v1beta1.ts +++ b/src/apis/ondemandscanning/v1beta1.ts @@ -246,6 +246,10 @@ export namespace ondemandscanning_v1beta1 { * The name of the base image. */ name?: string | null; + /** + * The registry in which the base image is from. + */ + registry?: string | null; /** * The repository name in which the base image is from. */ diff --git a/src/apis/places/v1.ts b/src/apis/places/v1.ts index a7d6b434a9a..d3a86ece76b 100644 --- a/src/apis/places/v1.ts +++ b/src/apis/places/v1.ts @@ -717,6 +717,10 @@ export namespace places_v1 { * Links to trigger different Google Maps actions. */ googleMapsLinks?: Schema$GoogleMapsPlacesV1PlaceGoogleMapsLinks; + /** + * The type label of the place on Google Maps, localized to the request language if applicable, for example, "Restaurant", "Cafe", "Airport", etc. The type label may be different from the primary type display name and may not be a supported type in [Places API Place Types table](https://developers.google.com/maps/documentation/places/web-service/place-types). + */ + googleMapsTypeLabel?: Schema$GoogleTypeLocalizedText; /** * A URL providing more information about this place. */ @@ -2025,6 +2029,7 @@ export namespace places_v1 { * // "goodForGroups": false, * // "goodForWatchingSports": false, * // "googleMapsLinks": {}, + * // "googleMapsTypeLabel": {}, * // "googleMapsUri": "my_googleMapsUri", * // "iconBackgroundColor": "my_iconBackgroundColor", * // "iconMaskBaseUri": "my_iconMaskBaseUri", diff --git a/src/apis/privateca/v1.ts b/src/apis/privateca/v1.ts index b5d527ecada..538e00d9473 100644 --- a/src/apis/privateca/v1.ts +++ b/src/apis/privateca/v1.ts @@ -1642,7 +1642,7 @@ export namespace privateca_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/privateca/v1beta1.ts b/src/apis/privateca/v1beta1.ts index 14ccc148a89..7fac2310ce0 100644 --- a/src/apis/privateca/v1beta1.ts +++ b/src/apis/privateca/v1beta1.ts @@ -511,7 +511,7 @@ export namespace privateca_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/recommender/v1.ts b/src/apis/recommender/v1.ts index 92c2ffb54cd..08393bf7bef 100644 --- a/src/apis/recommender/v1.ts +++ b/src/apis/recommender/v1.ts @@ -159,10 +159,6 @@ export namespace recommender_v1 { * Use with CategoryType.COST */ costProjection?: Schema$GoogleCloudRecommenderV1CostProjection; - /** - * If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details. - */ - impactComponents?: Schema$GoogleCloudRecommenderV1Impact[]; /** * Use with CategoryType.RELIABILITY */ diff --git a/src/apis/recommender/v1beta1.ts b/src/apis/recommender/v1beta1.ts index 9a69c26202c..c9e320ad132 100644 --- a/src/apis/recommender/v1beta1.ts +++ b/src/apis/recommender/v1beta1.ts @@ -205,10 +205,6 @@ export namespace recommender_v1beta1 { * Use with CategoryType.COST */ costProjection?: Schema$GoogleCloudRecommenderV1beta1CostProjection; - /** - * If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details. - */ - impactComponents?: Schema$GoogleCloudRecommenderV1beta1Impact[]; /** * Use with CategoryType.RELIABILITY */ diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index 1251321a7cf..0ab0811d233 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -521,6 +521,10 @@ export namespace redis_v1 { * Optional. The number of replica nodes per shard. */ replicaCount?: number | null; + /** + * Optional. Input only. Rotate the server certificates. + */ + rotateServerCertificate?: boolean | null; /** * Optional. Output only. Reserved for future use. */ @@ -529,6 +533,14 @@ export namespace redis_v1 { * Optional. Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; + /** + * Optional. Server CA mode for the cluster. + */ + serverCaMode?: string | null; + /** + * Optional. Customer-managed CA pool for the cluster. Only applicable for BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. Format: "projects/{project\}/locations/{region\}/caPools/{ca_pool\}". + */ + serverCaPool?: string | null; /** * Optional. Number of shards for the Redis cluster. */ @@ -837,7 +849,7 @@ export namespace redis_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$DatabaseResourceMetadata { /** @@ -924,6 +936,10 @@ export namespace redis_v1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$ResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -1917,6 +1933,24 @@ export namespace redis_v1 { */ exclusiveAction?: string | null; } + /** + * The certificates that form the CA chain, from leaf to root order. + */ + export interface Schema$RegionalCertChain { + /** + * The certificates that form the CA chain, from leaf to root order. + */ + certificates?: string[] | null; + } + /** + * CA certificate chains for redis managed server authentication. + */ + export interface Schema$RegionalManagedCertificateAuthority { + /** + * The PEM encoded CA certificate chains for redis managed server authentication + */ + caCerts?: Schema$RegionalCertChain[]; + } /** * Details of the remote cluster associated with this cluster in a cross cluster replication setup. */ @@ -1956,6 +1990,19 @@ export namespace redis_v1 { */ scheduleTime?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$ResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -1977,18 +2024,34 @@ export namespace redis_v1 { * MaintenanceInfo to capture the maintenance details of database resource. */ export interface Schema$ResourceMaintenanceInfo { + /** + * Optional. The date when the current maintenance version was released. + */ + currentVersionReleaseDate?: Schema$Date; /** * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$ResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ maintenanceSchedule?: Schema$ResourceMaintenanceSchedule; + /** + * Output only. Current state of maintenance on the database resource. + */ + maintenanceState?: string | null; /** * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. + */ + upcomingMaintenance?: Schema$UpcomingMaintenance; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -2023,6 +2086,19 @@ export namespace redis_v1 { */ timestampBasedRetentionTime?: string | null; } + /** + * Shared regional certificate authority + */ + export interface Schema$SharedRegionalCertificateAuthority { + /** + * CA certificate chains for redis managed server authentication. + */ + managedServerCa?: Schema$RegionalManagedCertificateAuthority; + /** + * Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project\}/locations/{location\}/sharedRegionalCertificateAuthority` + */ + name?: string | null; + } /** * Represents additional information about the state of the cluster. */ @@ -2125,6 +2201,19 @@ export namespace redis_v1 { */ stringValue?: string | null; } + /** + * Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published. + */ + export interface Schema$UpcomingMaintenance { + /** + * Optional. The end time of the upcoming maintenance. + */ + endTime?: string | null; + /** + * Optional. The start time of the upcoming maintenance. + */ + startTime?: string | null; + } /** * Represents information about an updating cluster. */ @@ -2353,7 +2442,154 @@ export namespace redis_v1 { } /** - * Lists information about the supported locations for this service. + * Gets the details of regional certificate authority information for Redis cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/redis.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const redis = google.redis('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 redis.projects.locations.getSharedRegionalCertificateAuthority({ + * // Required. Regional certificate authority resource name using the form: `projects/{project_id\}/locations/{location_id\}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region. + * name: 'projects/my-project/locations/my-location/sharedRegionalCertificateAuthority', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "managedServerCa": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: StreamMethodOptions + ): Promise>; + getSharedRegionalCertificateAuthority( + params?: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.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 information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2507,6 +2743,12 @@ export namespace redis_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority extends StandardParameters { + /** + * Required. Regional certificate authority resource name using the form: `projects/{project_id\}/locations/{location_id\}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region. + */ + name?: string; + } 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. @@ -3710,8 +3952,11 @@ export namespace redis_v1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, @@ -4038,8 +4283,11 @@ export namespace redis_v1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, @@ -4500,8 +4748,11 @@ export namespace redis_v1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, diff --git a/src/apis/redis/v1beta1.ts b/src/apis/redis/v1beta1.ts index 7bbb1d251a5..4f5d19cc5e5 100644 --- a/src/apis/redis/v1beta1.ts +++ b/src/apis/redis/v1beta1.ts @@ -521,6 +521,10 @@ export namespace redis_v1beta1 { * Optional. The number of replica nodes per shard. */ replicaCount?: number | null; + /** + * Optional. Input only. Rotate the server certificates. + */ + rotateServerCertificate?: boolean | null; /** * Optional. Output only. Reserved for future use. */ @@ -529,6 +533,14 @@ export namespace redis_v1beta1 { * Optional. Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; + /** + * Optional. Server CA mode for the cluster. + */ + serverCaMode?: string | null; + /** + * Optional. Customer-managed CA pool for the cluster. Only applicable for BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. Format: "projects/{project\}/locations/{region\}/caPools/{ca_pool\}". + */ + serverCaPool?: string | null; /** * Optional. Number of shards for the Redis cluster. */ @@ -837,7 +849,7 @@ export namespace redis_v1beta1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$DatabaseResourceMetadata { /** @@ -924,6 +936,10 @@ export namespace redis_v1beta1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$ResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -1917,6 +1933,24 @@ export namespace redis_v1beta1 { */ exclusiveAction?: string | null; } + /** + * The certificates that form the CA chain, from leaf to root order. + */ + export interface Schema$RegionalCertChain { + /** + * The certificates that form the CA chain, from leaf to root order. + */ + certificates?: string[] | null; + } + /** + * CA certificate chains for redis managed server authentication. + */ + export interface Schema$RegionalManagedCertificateAuthority { + /** + * The PEM encoded CA certificate chains for redis managed server authentication + */ + caCerts?: Schema$RegionalCertChain[]; + } /** * Details of the remote cluster associated with this cluster in a cross cluster replication setup. */ @@ -1956,6 +1990,19 @@ export namespace redis_v1beta1 { */ scheduleTime?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$ResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -1977,18 +2024,34 @@ export namespace redis_v1beta1 { * MaintenanceInfo to capture the maintenance details of database resource. */ export interface Schema$ResourceMaintenanceInfo { + /** + * Optional. The date when the current maintenance version was released. + */ + currentVersionReleaseDate?: Schema$Date; /** * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$ResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ maintenanceSchedule?: Schema$ResourceMaintenanceSchedule; + /** + * Output only. Current state of maintenance on the database resource. + */ + maintenanceState?: string | null; /** * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. + */ + upcomingMaintenance?: Schema$UpcomingMaintenance; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -2023,6 +2086,19 @@ export namespace redis_v1beta1 { */ timestampBasedRetentionTime?: string | null; } + /** + * Shared regional certificate authority + */ + export interface Schema$SharedRegionalCertificateAuthority { + /** + * CA certificate chains for redis managed server authentication. + */ + managedServerCa?: Schema$RegionalManagedCertificateAuthority; + /** + * Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project\}/locations/{location\}/sharedRegionalCertificateAuthority` + */ + name?: string | null; + } /** * Represents additional information about the state of the cluster. */ @@ -2125,6 +2201,19 @@ export namespace redis_v1beta1 { */ stringValue?: string | null; } + /** + * Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published. + */ + export interface Schema$UpcomingMaintenance { + /** + * Optional. The end time of the upcoming maintenance. + */ + endTime?: string | null; + /** + * Optional. The start time of the upcoming maintenance. + */ + startTime?: string | null; + } /** * Represents information about an updating cluster. */ @@ -2353,7 +2442,154 @@ export namespace redis_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Gets the details of regional certificate authority information for Redis cluster. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/redis.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const redis = google.redis('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 redis.projects.locations.getSharedRegionalCertificateAuthority({ + * // Required. Regional certificate authority resource name using the form: `projects/{project_id\}/locations/{location_id\}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region. + * name: 'projects/my-project/locations/my-location/sharedRegionalCertificateAuthority', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "managedServerCa": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: StreamMethodOptions + ): Promise>; + getSharedRegionalCertificateAuthority( + params?: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + params: Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority, + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + callback: BodyResponseCallback + ): void; + getSharedRegionalCertificateAuthority( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.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 + ); + } + } + + /** + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2507,6 +2743,12 @@ export namespace redis_v1beta1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Getsharedregionalcertificateauthority extends StandardParameters { + /** + * Required. Regional certificate authority resource name using the form: `projects/{project_id\}/locations/{location_id\}/sharedRegionalCertificateAuthority` where `location_id` refers to a Google Cloud region. + */ + name?: string; + } 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. @@ -3716,8 +3958,11 @@ export namespace redis_v1beta1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, @@ -4044,8 +4289,11 @@ export namespace redis_v1beta1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, @@ -4506,8 +4754,11 @@ export namespace redis_v1beta1 { * // "pscServiceAttachments": [], * // "redisConfigs": {}, * // "replicaCount": 0, + * // "rotateServerCertificate": false, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serverCaMode": "my_serverCaMode", + * // "serverCaPool": "my_serverCaPool", * // "shardCount": 0, * // "simulateMaintenanceEvent": false, * // "sizeGb": 0, diff --git a/src/apis/run/v1.ts b/src/apis/run/v1.ts index 9ec2b505343..553548291ba 100644 --- a/src/apis/run/v1.ts +++ b/src/apis/run/v1.ts @@ -1918,6 +1918,10 @@ export namespace run_v1 { * Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. */ serviceAccountName?: string | null; + /** + * Optional. Duration the instance may be active before the system will shut it down. + */ + timeout?: string | null; /** * Optional. List of volumes that can be mounted by containers belonging to the Instance. */ @@ -1956,6 +1960,10 @@ export namespace run_v1 { * Output only. The 'generation' of the Instance that was last processed by the controller. */ observedGeneration?: number | null; + /** + * Output only. All URLs serving traffic for this Instance. + */ + urls?: string[] | null; } /** * Job represents the configuration of a single job, which references a container image which is run to completion. @@ -2386,7 +2394,7 @@ export namespace run_v1 { */ export interface Schema$ObjectMeta { /** - * 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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. + * 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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. */ annotations?: {[key: string]: string} | null; /** @@ -2410,7 +2418,7 @@ export namespace run_v1 { */ finalizers?: string[] | null; /** - * Not supported by Cloud Run + * Optional. A prefix for the resource name if not provided in the create request. Must be less than 31 characters to allow for a random suffix. */ generateName?: string | null; /** @@ -2422,7 +2430,7 @@ export namespace run_v1 { */ labels?: {[key: string]: string} | null; /** - * Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created. + * Optional. The name of the resource. A name for creating top-level resources (Service, Job, WorkerPool). Must be unique within a Cloud Run project/region, and cannot be changed once created. If omitted, a default name will be generated. */ name?: string | null; /** @@ -2585,7 +2593,7 @@ export namespace run_v1 { requests?: {[key: string]: string} | null; } /** - * Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/specs/blob/main/specs/serving/overview.md#revision + * Revision is an immutable snapshot of code and configuration. A revision references one or more container images. Revisions are created by updates to a Service. */ export interface Schema$Revision { /** @@ -2618,7 +2626,7 @@ export namespace run_v1 { */ containerConcurrency?: number | null; /** - * Required. Containers holds the list which define the units of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. + * Required. Containers holds the list which define the units of execution for this Revision. */ containers?: Schema$Container[]; /** @@ -3343,7 +3351,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -3513,7 +3525,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -3654,7 +3670,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -3860,7 +3880,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -4014,7 +4037,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -4164,7 +4190,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -4305,7 +4335,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8061,7 +8095,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8215,7 +8252,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8365,7 +8405,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8506,7 +8550,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8662,7 +8710,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10087,7 +10138,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10265,7 +10320,7 @@ export namespace run_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -10464,7 +10519,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10635,7 +10694,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10773,7 +10836,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10980,7 +11047,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11135,7 +11205,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11282,7 +11355,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11420,7 +11497,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14115,7 +14196,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14270,7 +14354,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14417,7 +14504,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14555,7 +14646,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14697,7 +14792,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14854,7 +14953,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15007,7 +15109,10 @@ export namespace run_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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15156,7 +15261,11 @@ export namespace run_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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls diff --git a/src/apis/run/v2.ts b/src/apis/run/v2.ts index e337a0fc345..25ad4651d2f 100644 --- a/src/apis/run/v2.ts +++ b/src/apis/run/v2.ts @@ -246,7 +246,7 @@ export namespace run_v2 { */ export interface Schema$GoogleCloudRunV2CloudSqlInstance { /** - * The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project\}:{location\}:{instance\} + * A list of Cloud SQL instance connection names. Cloud Run uses these to establish connections to the specified Cloud SQL instances. While the SQL instance name itself is unique within a project, the full connection name requires the location for proper routing. Format: `{project\}:{location\}:{instance\}` Example: `my-project:us-central1:my-instance` You can find this value on the instance's **Overview** page in the Google Cloud console or by using the following `gcloud` command: ```sh gcloud sql instances describe INSTANCE_NAME \ --format='value(connectionName)' ``` Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. */ instances?: string[] | null; } @@ -885,6 +885,10 @@ export namespace run_v2 { * Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ terminalCondition?: Schema$GoogleCloudRunV2Condition; + /** + * Optional. Duration the instance may be active before the system will shut it down. + */ + timeout?: string | null; /** * Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. */ @@ -1297,7 +1301,7 @@ export namespace run_v2 { */ conditions?: Schema$GoogleCloudRunV2Condition[]; /** - * Holds the single container that defines the unit of execution for this Revision. + * Holds the list which define the units of execution for this Revision. */ containers?: Schema$GoogleCloudRunV2Container[]; /** @@ -1429,6 +1433,14 @@ export namespace run_v2 { * Settings for revision-level scaling settings. */ export interface Schema$GoogleCloudRunV2RevisionScaling { + /** + * Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.4` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. + */ + concurrencyUtilization?: number | null; + /** + * Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.4` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling. + */ + cpuUtilization?: number | null; /** * Optional. Maximum number of serving instances that this resource should have. When unspecified, the field is set to the server default value of 100. For more information see https://cloud.google.com/run/docs/configuring/max-instances */ @@ -1464,7 +1476,7 @@ export namespace run_v2 { */ clientVersion?: string | null; /** - * Holds the single container that defines the unit of execution for this Revision. + * Holds the list which define the units of execution for this Revision. */ containers?: Schema$GoogleCloudRunV2Container[]; /** @@ -4506,7 +4518,7 @@ export namespace run_v2 { * * // Do the magic * const res = await run.projects.locations.instances.create({ - * // Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. + * // Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. If not provided, the server will generate a unique `instance_id`. * instanceId: 'placeholder-value', * * parent: 'projects/my-project/locations/my-location', @@ -4549,6 +4561,7 @@ export namespace run_v2 { * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", * // "terminalCondition": {}, + * // "timeout": "my_timeout", * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "urls": [], @@ -4883,6 +4896,7 @@ export namespace run_v2 { * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", * // "terminalCondition": {}, + * // "timeout": "my_timeout", * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "urls": [], @@ -5444,7 +5458,7 @@ export namespace run_v2 { export interface Params$Resource$Projects$Locations$Instances$Create extends StandardParameters { /** - * Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. + * Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. If not provided, the server will generate a unique `instance_id`. */ instanceId?: string; /** @@ -5563,7 +5577,7 @@ export namespace run_v2 { * * // Do the magic * const res = await run.projects.locations.jobs.create({ - * // Required. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. + * // Optional. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. If not provided, the server will generate a unique `job_id`. * jobId: 'placeholder-value', * // Required. The location and project in which this Job should be created. Format: projects/{project\}/locations/{location\}, where {project\} can be project id or number. * parent: 'projects/my-project/locations/my-location', @@ -6952,7 +6966,7 @@ export namespace run_v2 { export interface Params$Resource$Projects$Locations$Jobs$Create extends StandardParameters { /** - * Required. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. + * Optional. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. If not provided, the server will generate a unique `job_id`. */ jobId?: string; /** @@ -8934,7 +8948,10 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8945,7 +8962,7 @@ export namespace run_v2 { * const res = await run.projects.locations.services.create({ * // Required. The location and project in which this service should be created. Format: projects/{project\}/locations/{location\}, where {project\} can be project id or number. Only lowercase characters, digits, and hyphens. * parent: 'projects/my-project/locations/my-location', - * // Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. + * // Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. If not provided, the server will generate a unique `service_id`. * serviceId: 'placeholder-value', * // Indicates that the request should be validated and default values populated, without persisting the request or creating any resources. * validateOnly: 'placeholder-value', @@ -9128,7 +9145,10 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9274,7 +9294,11 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9447,7 +9471,11 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9591,7 +9619,11 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9746,7 +9778,10 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9757,6 +9792,8 @@ export namespace run_v2 { * const res = await run.projects.locations.services.patch({ * // Optional. If set to true, and if the Service does not exist, it will create a new one. The caller must have 'run.services.create' permissions if this is set to true and the Service does not exist. * allowMissing: 'placeholder-value', + * // Optional. If set to true, a new revision will be created from the template even if the system doesn't detect any changes from the previously deployed revision. This may be useful for cases where the underlying resources need to be recreated or reinitialized. For example if the image is specified by label, but the underlying image digest has changed) or if the container performs deployment initialization work that needs to be performed again. + * forceNewRevision: 'placeholder-value', * // Identifier. The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project\}/locations/{location\}/services/{service_id\} * name: 'projects/my-project/locations/my-location/services/my-service', * // Optional. The list of fields to be updated. @@ -9939,7 +9976,10 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10090,7 +10130,11 @@ export namespace run_v2 { * async function main() { * const auth = new google.auth.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/run', + * 'https://www.googleapis.com/auth/run.readonly', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10231,7 +10275,7 @@ export namespace run_v2 { */ parent?: string; /** - * Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. + * Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. If not provided, the server will generate a unique `service_id`. */ serviceId?: string; /** @@ -10297,6 +10341,10 @@ export namespace run_v2 { * Optional. If set to true, and if the Service does not exist, it will create a new one. The caller must have 'run.services.create' permissions if this is set to true and the Service does not exist. */ allowMissing?: boolean; + /** + * Optional. If set to true, a new revision will be created from the template even if the system doesn't detect any changes from the previously deployed revision. This may be useful for cases where the underlying resources need to be recreated or reinitialized. For example if the image is specified by label, but the underlying image digest has changed) or if the container performs deployment initialization work that needs to be performed again. + */ + forceNewRevision?: boolean; /** * Identifier. The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project\}/locations/{location\}/services/{service_id\} */ @@ -11065,7 +11113,7 @@ export namespace run_v2 { * parent: 'projects/my-project/locations/my-location', * // Optional. Indicates that the request should be validated and default values populated, without persisting the request or creating any resources. * validateOnly: 'placeholder-value', - * // Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. + * // Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. If not provided, the server will generate a unique `worker_pool_id`. * workerPoolId: 'placeholder-value', * * // Request body metadata @@ -12337,7 +12385,7 @@ export namespace run_v2 { */ validateOnly?: boolean; /** - * Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. + * Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. If not provided, the server will generate a unique `worker_pool_id`. */ workerPoolId?: string; diff --git a/src/apis/saasservicemgmt/v1beta1.ts b/src/apis/saasservicemgmt/v1beta1.ts index bcdfcaeb62c..1147e4fd7af 100644 --- a/src/apis/saasservicemgmt/v1beta1.ts +++ b/src/apis/saasservicemgmt/v1beta1.ts @@ -488,6 +488,10 @@ export namespace saasservicemgmt_v1beta1 { * Output only. The timestamp when the resource was created. */ createTime?: string | null; + /** + * Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation). + */ + deleteTime?: string | null; /** * Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here. */ @@ -636,7 +640,7 @@ export namespace saasservicemgmt_v1beta1 { */ export interface Schema$RolloutStats { /** - * Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED" + * Optional. Output only. Unordered list. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED" */ operationsByState?: Schema$Aggregate[]; } @@ -961,6 +965,10 @@ export namespace saasservicemgmt_v1beta1 { * Output only. The timestamp when the resource was created. */ createTime?: string | null; + /** + * Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation). + */ + deleteTime?: string | null; deprovision?: Schema$Deprovision; /** * Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage. @@ -1265,7 +1273,7 @@ export namespace saasservicemgmt_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -3266,6 +3274,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3294,6 +3303,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3591,6 +3601,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3902,6 +3913,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3930,6 +3942,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -6793,6 +6806,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -6819,6 +6833,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7114,6 +7129,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7425,6 +7441,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7451,6 +7468,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", diff --git a/src/apis/securityposture/v1.ts b/src/apis/securityposture/v1.ts index 9c3e1f8e55c..dc7232a775c 100644 --- a/src/apis/securityposture/v1.ts +++ b/src/apis/securityposture/v1.ts @@ -354,6 +354,31 @@ export namespace securityposture_v1 { */ tfPlan?: string | null; } + /** + * Represents the criteria for considering an IaC validation as a failure. + */ + export interface Schema$IacValidationFailureCriteria { + /** + * Output only. The time at which the resource was created. + */ + createTime?: string | null; + /** + * Optional. The etag for optimistic concurrency. + */ + etag?: string | null; + /** + * Identifier. The resource name of the IacValidationFailureCriteria. Format: organizations/{organization\}/locations/{location\}/iacValidationFailureCriteria + */ + name?: string | null; + /** + * Optional. A list of severity thresholds. An IaC validation fails if any threshold is exceeded. + */ + severityCountThresholds?: Schema$SeverityCountThreshold[]; + /** + * Output only. The time at which the resource was last updated. + */ + updateTime?: string | null; + } /** * Details of an infrastructure-as-code (IaC) validation report. */ @@ -900,6 +925,19 @@ export namespace securityposture_v1 { */ moduleName?: string | null; } + /** + * Represents a threshold for a specific severity. + */ + export interface Schema$SeverityCountThreshold { + /** + * Optional. The severity level, reusing the existing Violation.Severity. + */ + severity?: string | null; + /** + * Optional. If violation count meets or exceeds this threshold, validation fails. + */ + thresholdCount?: number | 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). */ diff --git a/src/apis/serviceconsumermanagement/v1.ts b/src/apis/serviceconsumermanagement/v1.ts index a07434f8448..2f8eed37520 100644 --- a/src/apis/serviceconsumermanagement/v1.ts +++ b/src/apis/serviceconsumermanagement/v1.ts @@ -197,11 +197,28 @@ export namespace serviceconsumermanagement_v1 { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * Request to attach an existing project to the tenancy unit as a new tenant resource. */ @@ -2830,7 +2847,7 @@ export namespace serviceconsumermanagement_v1 { * * // Do the magic * const res = await serviceconsumermanagement.services.search({ - * // Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 1000. If `page_size` isn't provided or the size provided is a number larger than 1000, it's automatically set to 1000. + * // Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 256. If `page_size` <= 256, the request proceeds. Else, the request fails with an `TU_INVALID_PAGE_SIZE` error. * pageSize: 'placeholder-value', * // Optional. The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response. * pageToken: 'placeholder-value', @@ -2950,7 +2967,7 @@ export namespace serviceconsumermanagement_v1 { export interface Params$Resource$Services$Search extends StandardParameters { /** - * Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 1000. If `page_size` isn't provided or the size provided is a number larger than 1000, it's automatically set to 1000. + * Optional. The maximum number of results returned by this request. Currently, the default maximum is set to 256. If `page_size` <= 256, the request proceeds. Else, the request fails with an `TU_INVALID_PAGE_SIZE` error. */ pageSize?: number; /** diff --git a/src/apis/serviceconsumermanagement/v1beta1.ts b/src/apis/serviceconsumermanagement/v1beta1.ts index 8ba2d8175b3..c35035210d1 100644 --- a/src/apis/serviceconsumermanagement/v1beta1.ts +++ b/src/apis/serviceconsumermanagement/v1beta1.ts @@ -171,11 +171,28 @@ export namespace serviceconsumermanagement_v1beta1 { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read */ diff --git a/src/apis/servicedirectory/v1.ts b/src/apis/servicedirectory/v1.ts index 139912cfea5..fe038beda48 100644 --- a/src/apis/servicedirectory/v1.ts +++ b/src/apis/servicedirectory/v1.ts @@ -551,7 +551,7 @@ export namespace servicedirectory_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/servicedirectory/v1beta1.ts b/src/apis/servicedirectory/v1beta1.ts index 2cb50ddb471..9dabc637435 100644 --- a/src/apis/servicedirectory/v1beta1.ts +++ b/src/apis/servicedirectory/v1beta1.ts @@ -575,7 +575,7 @@ export namespace servicedirectory_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/servicemanagement/v1.ts b/src/apis/servicemanagement/v1.ts index b9ff31fab2b..1b61bef44da 100644 --- a/src/apis/servicemanagement/v1.ts +++ b/src/apis/servicemanagement/v1.ts @@ -1888,7 +1888,7 @@ export namespace servicemanagement_v1 { */ documentation?: Schema$Documentation; /** - * Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. + * Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. WARNING: Defining any entries in the `endpoints` list disables the automatic generation of default endpoint variations (e.g., `{service\}.clients6.google.com`, `content-{service\}.googleapis.com`, and mTLS variants like `{service\}.mtls.googleapis.com`). To retain these default variations, you are required to explicitly include your main service endpoint (e.g., `myservice.googleapis.com`) in this list alongside any other custom endpoints (like REP, GFE, etc.). */ endpoints?: Schema$Endpoint[]; /** @@ -1916,7 +1916,7 @@ export namespace servicemanagement_v1 { */ metrics?: Schema$MetricDescriptor[]; /** - * Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations. + * Defines the monitored resources used by this service. This is required by the `Service.monitoring` and `Service.logging` configurations. */ monitoredResources?: Schema$MonitoredResourceDescriptor[]; /** diff --git a/src/apis/servicenetworking/v1.ts b/src/apis/servicenetworking/v1.ts index b59e4ef8bf5..df28a592041 100644 --- a/src/apis/servicenetworking/v1.ts +++ b/src/apis/servicenetworking/v1.ts @@ -337,11 +337,28 @@ export namespace servicenetworking_v1 { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read */ diff --git a/src/apis/servicenetworking/v1beta.ts b/src/apis/servicenetworking/v1beta.ts index a9f3f0df9cb..8debc00bc5f 100644 --- a/src/apis/servicenetworking/v1beta.ts +++ b/src/apis/servicenetworking/v1beta.ts @@ -242,11 +242,28 @@ export namespace servicenetworking_v1beta { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read */ diff --git a/src/apis/serviceusage/v1.ts b/src/apis/serviceusage/v1.ts index 2fb664167d6..2b425cb79ca 100644 --- a/src/apis/serviceusage/v1.ts +++ b/src/apis/serviceusage/v1.ts @@ -264,11 +264,28 @@ export namespace serviceusage_v1 { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read */ diff --git a/src/apis/serviceusage/v1beta1.ts b/src/apis/serviceusage/v1beta1.ts index 3c72a7ae13f..edb5b62175a 100644 --- a/src/apis/serviceusage/v1beta1.ts +++ b/src/apis/serviceusage/v1beta1.ts @@ -264,11 +264,28 @@ export namespace serviceusage_v1beta1 { * The type of this aspect configuration. */ kind?: string | null; + /** + * Optional. Rules of the Configuration. + */ + rules?: Schema$AspectRule[]; /** * Content of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. */ spec?: {[key: string]: any} | null; } + /** + * Rule-based configuration for an aspect. + */ + export interface Schema$AspectRule { + /** + * Required. Rules of the configuration. The underlying schema should be defined by Aspect owners as protobuf message under `google/api/configaspects/proto`. + */ + config?: {[key: string]: any} | null; + /** + * Required. Selects the RPC methods to which this rule applies. Refer to selector for syntax details. + */ + selector?: string | null; + } /** * `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read */ diff --git a/src/apis/solar/v1.ts b/src/apis/solar/v1.ts index e1ffb2c501b..f2371815beb 100644 --- a/src/apis/solar/v1.ts +++ b/src/apis/solar/v1.ts @@ -239,7 +239,7 @@ export namespace solar_v1 { */ monthlyFluxUrl?: string | null; /** - * The URL for an image of RGB data (aerial photo) of the region. + * The URL for an image of RGB data (aerial or satellite photo) of the region. */ rgbUrl?: string | null; } diff --git a/src/apis/sqladmin/v1.ts b/src/apis/sqladmin/v1.ts index d2eae95049e..3647130df42 100644 --- a/src/apis/sqladmin/v1.ts +++ b/src/apis/sqladmin/v1.ts @@ -553,6 +553,14 @@ export namespace sqladmin_v1 { * Required. Name of the Cloud SQL instance to be created as a clone. */ destinationInstanceName?: string | null; + /** + * Optional. The fully qualified URI of the VPC network to which the cloned instance will be connected via Private Services Access for private IP. For example:`projects/my-network-project/global/networks/my-network`. This field is only required for cross-project cloning. + */ + destinationNetwork?: string | null; + /** + * Optional. The project ID of the destination project where the cloned instance will be created. To perform a cross-project clone, this field is required. If not specified, the clone is created in the same project as the source instance. + */ + destinationProject?: string | null; /** * This is always `sql#cloneContext`. */ @@ -2893,23 +2901,6 @@ export namespace sqladmin_v1 { * Instance reset replica size request. */ export interface Schema$SqlInstancesResetReplicaSizeRequest {} - /** - * Instance restore backup request for MCP. - */ - export interface Schema$SqlInstancesRestoreBackupMcpRequest { - /** - * Required. The identifier of the backup to restore. This will be one of the following: 1. An int64 containing a backup_run_id. 2. A backup name of the format 'projects/{project\}/backups/{backup-uid\}'. 3. A backupDR name of the format 'projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}/backups/{backup-uid\}'. - */ - backupId?: string | null; - /** - * Optional. The Cloud SQL instance ID of the source instance containing the backup. Only necessary if the backup_id is a backup_run_id. - */ - sourceInstance?: string | null; - /** - * Required. The project ID of the source instance containing the backup. - */ - sourceProject?: string | null; - } /** * Instance start external sync request. */ @@ -11177,177 +11168,6 @@ export namespace sqladmin_v1 { } } - /** - * Restores a backup of a Cloud SQL instance for Model Context Protocol (MCP) server. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const sqladmin = google.sqladmin('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/sqlservice.admin', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await sql.instances.restoreBackupMcp({ - * // Required. Cloud SQL instance ID of the target. This does not include the project ID. - * targetInstance: 'placeholder-value', - * // Required. Project ID of the target project. - * targetProject: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "backupId": "my_backupId", - * // "sourceInstance": "my_sourceInstance", - * // "sourceProject": "my_sourceProject" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "acquireSsrsLeaseContext": {}, - * // "apiWarning": {}, - * // "backupContext": {}, - * // "endTime": "my_endTime", - * // "error": {}, - * // "exportContext": {}, - * // "importContext": {}, - * // "insertTime": "my_insertTime", - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationType": "my_operationType", - * // "preCheckMajorVersionUpgradeContext": {}, - * // "selfLink": "my_selfLink", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "subOperationType": {}, - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "targetProject": "my_targetProject", - * // "user": "my_user" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - restoreBackupMcp( - params: Params$Resource$Instances$Restorebackupmcp, - options: StreamMethodOptions - ): Promise>; - restoreBackupMcp( - params?: Params$Resource$Instances$Restorebackupmcp, - options?: MethodOptions - ): Promise>; - restoreBackupMcp( - params: Params$Resource$Instances$Restorebackupmcp, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - restoreBackupMcp( - params: Params$Resource$Instances$Restorebackupmcp, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - restoreBackupMcp( - params: Params$Resource$Instances$Restorebackupmcp, - callback: BodyResponseCallback - ): void; - restoreBackupMcp(callback: BodyResponseCallback): void; - restoreBackupMcp( - paramsOrCallback?: - | Params$Resource$Instances$Restorebackupmcp - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Restorebackupmcp; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Restorebackupmcp; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/v1/projects/{targetProject}/instances/{targetInstance}:restoreBackupMcp' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['targetProject', 'targetInstance'], - pathParams: ['targetInstance', 'targetProject'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - /** * Rotates the server certificate version to one previously added with the addEntraIdCertificate method. * @example @@ -13094,21 +12914,6 @@ export namespace sqladmin_v1 { */ requestBody?: Schema$InstancesRestoreBackupRequest; } - export interface Params$Resource$Instances$Restorebackupmcp extends StandardParameters { - /** - * Required. Cloud SQL instance ID of the target. This does not include the project ID. - */ - targetInstance?: string; - /** - * Required. Project ID of the target project. - */ - targetProject?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SqlInstancesRestoreBackupMcpRequest; - } export interface Params$Resource$Instances$Rotateentraidcertificate extends StandardParameters { /** * Required. Cloud SQL instance ID. This does not include the project ID. @@ -16679,6 +16484,8 @@ export namespace sqladmin_v1 { * name: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', + * // Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles. + * revokeExistingRoles: 'placeholder-value', * * // Request body metadata * requestBody: { @@ -16904,6 +16711,10 @@ export namespace sqladmin_v1 { * Project ID of the project that contains the instance. */ project?: string; + /** + * Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles. + */ + revokeExistingRoles?: boolean; /** * Request body metadata diff --git a/src/apis/sqladmin/v1beta4.ts b/src/apis/sqladmin/v1beta4.ts index 78d23bf0905..647df2ffcda 100644 --- a/src/apis/sqladmin/v1beta4.ts +++ b/src/apis/sqladmin/v1beta4.ts @@ -553,6 +553,14 @@ export namespace sqladmin_v1beta4 { * Name of the Cloud SQL instance to be created as a clone. */ destinationInstanceName?: string | null; + /** + * Optional. The fully qualified URI of the VPC network to which the cloned instance will be connected via Private Services Access for private IP. For example:`projects/my-network-project/global/networks/my-network`. This field is only required for cross-project cloning. + */ + destinationNetwork?: string | null; + /** + * Optional. The project ID of the destination project where the cloned instance will be created. To perform a cross-project clone, this field is required. If not specified, the clone is created in the same project as the source instance. + */ + destinationProject?: string | null; /** * This is always `sql#cloneContext`. */ @@ -16497,7 +16505,7 @@ export namespace sqladmin_v1beta4 { * name: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', - * // Optional. revoke the existing roles granted to the user. + * // Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles. * revokeExistingRoles: 'placeholder-value', * * // Request body metadata @@ -16726,7 +16734,7 @@ export namespace sqladmin_v1beta4 { */ project?: string; /** - * Optional. revoke the existing roles granted to the user. + * Optional. Specifies whether to revoke existing roles that are not present in the `database_roles` field. If `false` or unset, the database roles specified in `database_roles` are added to the user's existing roles. */ revokeExistingRoles?: boolean; diff --git a/src/apis/storage/v1.ts b/src/apis/storage/v1.ts index 6960ebe658e..1e95c6ced06 100644 --- a/src/apis/storage/v1.ts +++ b/src/apis/storage/v1.ts @@ -7634,6 +7634,163 @@ export namespace storage_v1 { } } + /** + * Deletes a folder recursively. Only applicable to buckets with hierarchical namespace enabled. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/storage.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const storage = google.storage('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/devstorage.full_control', + * 'https://www.googleapis.com/auth/devstorage.read_write', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await storage.folders.deleteRecursive({ + * // Name of the bucket in which the folder resides. + * bucket: 'placeholder-value', + * // Name of a folder. + * folder: 'placeholder-value', + * // If set, only deletes the folder if its metageneration matches this value. + * ifMetagenerationMatch: 'placeholder-value', + * // If set, only deletes the folder if its metageneration does not match this value. + * ifMetagenerationNotMatch: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "response": {}, + * // "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. + */ + deleteRecursive( + params: Params$Resource$Folders$Deleterecursive, + options: StreamMethodOptions + ): Promise>; + deleteRecursive( + params?: Params$Resource$Folders$Deleterecursive, + options?: MethodOptions + ): Promise>; + deleteRecursive( + params: Params$Resource$Folders$Deleterecursive, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteRecursive( + params: Params$Resource$Folders$Deleterecursive, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteRecursive( + params: Params$Resource$Folders$Deleterecursive, + callback: BodyResponseCallback + ): void; + deleteRecursive( + callback: BodyResponseCallback + ): void; + deleteRecursive( + paramsOrCallback?: + | Params$Resource$Folders$Deleterecursive + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Deleterecursive; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Deleterecursive; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://storage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/storage/v1/b/{bucket}/folders/{folder}/deleteRecursive' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['bucket', 'folder'], + pathParams: ['bucket', 'folder'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns metadata for the specified folder. Only applicable to buckets with hierarchical namespace enabled. * @example @@ -8289,6 +8446,24 @@ export namespace storage_v1 { */ ifMetagenerationNotMatch?: string; } + export interface Params$Resource$Folders$Deleterecursive extends StandardParameters { + /** + * Name of the bucket in which the folder resides. + */ + bucket?: string; + /** + * Name of a folder. + */ + folder?: string; + /** + * If set, only deletes the folder if its metageneration matches this value. + */ + ifMetagenerationMatch?: string; + /** + * If set, only deletes the folder if its metageneration does not match this value. + */ + ifMetagenerationNotMatch?: string; + } export interface Params$Resource$Folders$Get extends StandardParameters { /** * Name of the bucket in which the folder resides. diff --git a/src/apis/storagebatchoperations/v1.ts b/src/apis/storagebatchoperations/v1.ts index 3c3e35bab8f..aaf3f9b9791 100644 --- a/src/apis/storagebatchoperations/v1.ts +++ b/src/apis/storagebatchoperations/v1.ts @@ -328,6 +328,10 @@ export namespace storagebatchoperations_v1 { * Output only. Summarizes errors encountered with sample error log entries. */ 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. + */ + isMultiBucketJob?: boolean | null; /** * Optional. Logging configuration. */ @@ -1160,6 +1164,7 @@ export namespace storagebatchoperations_v1 { * // "description": "my_description", * // "dryRun": false, * // "errorSummaries": [], + * // "isMultiBucketJob": false, * // "loggingConfig": {}, * // "name": "my_name", * // "putMetadata": {}, @@ -1458,6 +1463,7 @@ export namespace storagebatchoperations_v1 { * // "description": "my_description", * // "dryRun": false, * // "errorSummaries": [], + * // "isMultiBucketJob": false, * // "loggingConfig": {}, * // "name": "my_name", * // "putMetadata": {}, diff --git a/src/apis/threatintelligence/v1beta.ts b/src/apis/threatintelligence/v1beta.ts index 5ad013a26e4..7a2c7161514 100644 --- a/src/apis/threatintelligence/v1beta.ts +++ b/src/apis/threatintelligence/v1beta.ts @@ -124,19 +124,6 @@ export namespace threatintelligence_v1beta { } } - /** - * The software that is affected by the vulnerability. - */ - export interface Schema$AffectedSoftware { - /** - * Optional. The product of the software. - */ - product?: string | null; - /** - * Optional. The vendor of the software. - */ - vendor?: string | null; - } /** * Stateful object representing a group of Findings. Key feature to an Alert is that it expresses the user's intent towards the findings of that group, even those that haven't occurred yet. */ @@ -145,10 +132,6 @@ export namespace threatintelligence_v1beta { * Optional. AI summary of the finding. */ aiSummary?: string | null; - /** - * Output only. Assets that are impacted by this alert. - */ - assets?: string[] | null; /** * Output only. Audit information for the alert. */ @@ -181,6 +164,10 @@ export namespace threatintelligence_v1beta { * Output only. External ID for the alert. This is used internally to provide protection against out of order updates. */ externalId?: string | null; + /** + * Output only. The number of findings associated with this alert. + */ + findingCount?: string | null; /** * Output only. Findings that are covered by this alert. */ @@ -226,14 +213,6 @@ export namespace threatintelligence_v1beta { * Insider Threat alert detail type. */ insiderThreat?: Schema$InsiderThreatAlertDetail; - /** - * Domain Monitoring alert detail type. - */ - suspiciousDomain?: Schema$SuspiciousDomainAlertDetail; - /** - * Technology Watchlist alert detail type. - */ - targetTechnology?: Schema$TargetTechnologyAlertDetail; } /** * A document that is associated with an alert. @@ -305,61 +284,6 @@ export namespace threatintelligence_v1beta { */ translatedTitle?: string | null; } - /** - * Customer defined Configuration for asset discovery. - */ - export interface Schema$AssetDiscoveryConfig { - /** - * Output only. Timestamp of the last scan completed. This field is set by the system and cannot be modified by the user. - */ - lastScanCompleteTime?: string | null; - /** - * Output only. Timestamp of the last scan started - used for scheduling the next scan. This field is set by the system and cannot be modified by the user. - */ - lastScanStartTime?: string | null; - /** - * Required. Frequency at which the scheduled discovery scan should be run. If not specified, the default frequency is DAILY. - */ - scanFrequency?: string | null; - /** - * Optional. Seed assets that are out of scope for the scheduled discovery scan. - */ - scopeExclusionAssets?: Schema$AssetDiscoverySeed[]; - /** - * Required. Seed assets for the scheduled discovery scan. At least one seed asset is required. - */ - seedAssets?: Schema$AssetDiscoverySeed[]; - /** - * Required. Workflow to be used for the scheduled discovery scan. If not specified, the default workflow is EXTERNAL_DISCOVERY. - */ - workflow?: string | null; - } - /** - * Seed assets for asset discovery. - */ - export interface Schema$AssetDiscoverySeed { - /** - * Required. Type of the seed asset. - */ - seedType?: string | null; - /** - * Required. Value for the seed asset. Could be an IP address, network service, email addresses, etc. - */ - seedValue?: string | null; - } - /** - * Represents an association with a vulnerability. - */ - export interface Schema$Association { - /** - * Required. The ID of the association. - */ - id?: string | null; - /** - * Required. The type of the association. - */ - type?: string | null; - } /** * Tracks basic CRUD facts. */ @@ -381,63 +305,6 @@ export namespace threatintelligence_v1beta { */ updateTime?: string | null; } - /** - * Sample compromised credential detail. - */ - export interface Schema$CompromisedCredentialsFindingDetail { - /** - * Optional. Reference to the author this detail was extracted from. This is deprecated and will be removed. - */ - author?: string | null; - /** - * Optional. Claimed site the credential is intended for. - */ - credentialService?: string | null; - /** - * Optional. Reference to the dark web document. This is deprecated and will be removed. - */ - darkWebDoc?: string | null; - /** - * Optional. This will contain a link to the external reference for this credential. If set, this is a link back to the DTM product to allow customers to get additional context about this finding. - */ - externalReferenceUri?: string | null; - /** - * Optional. If the source of the credential was from a file dump this will contain the name of the file the credential was found in. This can be used by customers for context on where the credential was found and to try to find other references to the file in the wild. - */ - fileDump?: string | null; - /** - * Optional. A list of hashes of the file dump. These will be prefixed with the algorithm. Example: "sha256:" - */ - fileDumpHashes?: string[] | null; - /** - * Optional. If file_dump is set this will contain the size of the dump file in bytes. File dumps can be very large. - */ - fileDumpSizeBytes?: string | null; - /** - * Optional. Reference to the forum this detail was extracted from. This is deprecated and will be removed. - */ - forum?: string | null; - /** - * Optional. This will indicate the malware family that leaked this credential, if known. - */ - malwareFamily?: string | null; - /** - * Optional. This indicates our best guess as to when the credential was leaked to the particular venue that triggered this finding. This is not necessarily the time the credential was actually leaked and it may not always be be accurate. - */ - postedTime?: string | null; - /** - * Optional. If the source of a credential is publicly addressable this will contain a uri to the where the credential was found. - */ - sourceUri?: string | null; - /** - * Required. This field will always be set and will be used to identify the user named in the credential leak. In cases where customers are authorized to see the actual user key this will be set to the actual user key. In cases where the customer is not authorized to see the actual user key this will be set to a hash of the user key. The hashed value is an intentionally opaque value that is not intended to be used for any other purpose than to uniquely identify the user in the context of this specific customer, service domain, and user name. Example: "user@example.com" or "redacted:". - */ - userKey?: string | null; - /** - * Optional. Claimed evidence of the password/secret. This will always be hashed. In the event where the plaintext password is known it will be set to "redacted:" where the same hash will be presented when the same password is found for the same organization for the same service. Redaction is done by hashing the password with a salt that is unique to the customer organization and service. In the event where the plaintext password is not known it will be set to ":" where the algorithm is the hash algorithm used and the hash is the hash of the password using that algorithm. In the event we don't know the exact algorithm used we will set it to "hashed:". - */ - userSecretEvidence?: string | null; - } /** * A configuration represents a behavior an engine should follow when producing new findings. */ @@ -459,7 +326,7 @@ export namespace threatintelligence_v1beta { */ displayName?: string | null; /** - * Identifier. Server generated name for the configuration. format is vaults/{vault\}/configurations/{configuration\} + * Identifier. Server generated name for the configuration. format is projects/{project\}/configurations/{configuration\} */ name?: string | null; /** @@ -479,10 +346,6 @@ export namespace threatintelligence_v1beta { * Wrapper class that contains the union struct for all the various configuration detail specific classes. */ export interface Schema$ConfigurationDetail { - /** - * Asset Discovery detail config. - */ - assetDiscovery?: Schema$AssetDiscoveryConfig; /** * Customer Profile detail config. */ @@ -491,18 +354,6 @@ export namespace threatintelligence_v1beta { * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; - /** - * Domain Monitoring detail config. - */ - domainMonitoring?: Schema$DomainMonitoringConfig; - /** - * Initial Access Broker (IAB) detail config. - */ - initialAccessBroker?: Schema$InitialAccessBrokerConfig; - /** - * Technology Watchlist detail config. - */ - technologyWatchlist?: Schema$TechnologyWatchListConfig; } /** * A ConfigurationRevision is a snapshot of a Configuration at a point in time. It is immutable. @@ -513,7 +364,7 @@ export namespace threatintelligence_v1beta { */ createTime?: string | null; /** - * Identifier. The name of the ConfigurationRevision Format: vaults//configurations//revisions/ OR projects//configurations//revisions/ + * Identifier. The name of the ConfigurationRevision Format: projects//configurations//revisions/ */ name?: string | null; /** @@ -835,61 +686,6 @@ export namespace threatintelligence_v1beta { */ severity?: string | null; } - /** - * Any account-level configuration options will go here. - */ - export interface Schema$DomainMonitoringConfig { - /** - * The domains to use as "seeds" for Suspicious Domain Monitoring. - */ - domains?: Schema$DomainMonitoringDomain[]; - } - /** - * A Domain Monitoring "domain" - */ - export interface Schema$DomainMonitoringDomain { - /** - * The domain name to match against. - */ - domain?: string | null; - } - /** - * EntityProfile represents the structured profile of a customer entity, containing key identifiers and descriptive attributes optimized for contextual matching against threat intelligence, particularly Initial Access Broker (IAB) offerings. - */ - export interface Schema$EntityProfile { - /** - * Optional. List of specific countries of operation. Purpose: Essential for matching geographically targeted threats (e.g., actor specifies victims in 'DE'). Use ISO 3166-1 alpha-2 codes (e.g., "US", "GB", "JP", "DE"). - */ - countries?: string[] | null; - /** - * Required. List of primary internet domain names associated with the entity. Purpose: Crucial for explicit matching against domains mentioned in threat intel and can inform semantic matching. Must contain at least one domain. Example: ["acme.com", "acme.co.uk"] - */ - domains?: string[] | null; - /** - * Optional. List of primary industry sectors the entity operates within. Purpose: Crucial for matching industry-specific threats and understanding attacker motivation. Use standardized GTI Industry Classification values. Example: ["Technology", "Financial Services", "Healthcare"] - */ - industries?: string[] | null; - /** - * Required. Canonical name of the entity (e.g., the legal company name). Purpose: Primary identifier for the customer. - */ - name?: string | null; - /** - * Optional. Specific geographic areas of *significant* operational concentration or strategic importance below the country level, if clearly identifiable and relevant. Purpose: Useful for highly localized threats, less commonly populated than `countries`. Example: ["Silicon Valley", "Frankfurt am Main Metropolitan Region"] - */ - operationalAreas?: string[] | null; - /** - * Required. A concise, machine-generated (e.g., LLM) or human-curated summary of the entity. Purpose: Captures the semantic essence for embedding generation and similarity matching. Should synthesize key aspects like core business, scale, and market. Example: "Acme Corporation is a large, US-based multinational conglomerate operating..." - */ - profileSummary?: string | null; - /** - * Optional. List of primary geopolitical regions where the entity has significant operations. Purpose: Filters geographically relevant threats. Use standardized names or codes where possible (e.g., "North America", "EMEA", "APAC", UN M49 codes). - */ - regions?: string[] | null; - /** - * Optional. List of more granular sub-industries, if applicable and known. Purpose: Provides finer-grained context for more specific threat matching. Should align with GTI classifications if possible. Example: ["Semiconductors", "Cloud Computing Services", "Investment Banking"] - */ - subIndustries?: string[] | null; - } /** * Response message for EnumerateAlertFacets. */ @@ -966,10 +762,6 @@ export namespace threatintelligence_v1beta { * Optional. Name of the alert that this finding is bound to. */ alert?: string | null; - /** - * Optional. Optional - asset name if known. Format: vaults/{vault\}/assets/{asset\} - */ - asset?: string | null; /** * Output only. Audit data about the finding. */ @@ -987,11 +779,7 @@ export namespace threatintelligence_v1beta { */ displayName?: string | null; /** - * Optional. Optional - name of the issue that this finding is bound to. Format: vaults/{vault\}/issues/{issue\} - */ - issue?: string | null; - /** - * Identifier. Server generated name for the finding (leave clear during creation). Format: vaults/{vault\}/findings/{finding\} + * Identifier. Server generated name for the finding (leave clear during creation). Format: projects/{project\}/findings/{finding\} */ name?: string | null; /** @@ -1019,10 +807,6 @@ export namespace threatintelligence_v1beta { * Wrapper class that contains the union struct for all the various findings detail specific classes. */ export interface Schema$FindingDetail { - /** - * Compromised Credentials detail type. - */ - compromisedCredentials?: Schema$CompromisedCredentialsFindingDetail; /** * Data Leak finding detail type. */ @@ -1031,10 +815,6 @@ export namespace threatintelligence_v1beta { * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; - /** - * Inband vulnerability detail type. - */ - inbandVulnerability?: Schema$InbandVulnerabilityFindingDetail; /** * Initial Access Broker finding detail type. */ @@ -1043,96 +823,19 @@ export namespace threatintelligence_v1beta { * Insider Threat finding detail type. */ insiderThreat?: Schema$InsiderThreatFindingDetail; - /** - * Misconfiguration finding detail type. - */ - misconfiguration?: Schema$MisconfigurationFindingDetail; - /** - * Domain Monitoring finding detail type. - */ - suspiciousDomain?: Schema$SuspiciousDomainFindingDetail; - /** - * Technology Watchlist finding detail type. - */ - targetTechnology?: Schema$TargetTechnologyFindingDetail; } /** - * Fleshed out vulnerability object that includes enough details to fill out a vulnerability specific view for an issue. + * Request message for GenerateOrgProfileConfiguration. */ - export interface Schema$InbandVulnerability { - /** - * Optional. The software that is affected by the vulnerability. - */ - affectedSoftware?: Schema$AffectedSoftware[]; + export interface Schema$GenerateOrgProfileConfigurationRequest { /** - * Optional. The authors of the vulnerability detection. + * Required. The display name of the organization to generate the profile for. */ - authors?: string[] | null; - /** - * Required. The CVE ID of the vulnerability. - */ - cveId?: string | null; - /** - * Required. The CVSS V3.1 score (Base score)for the vulnerability. ( ) - */ - cvssV31Score?: number | null; - /** - * Optional. Temporal CVSS V3.1 score for the vulnerability. - */ - cvssV31ScoreTemporal?: number | null; - /** - * Optional. The human readable description. This can be basic HTML formatted text. - */ - description?: string | null; - /** - * Optional. The date the vulnerability was first disclosed. - */ - disclosureTime?: string | null; - /** - * Optional. Exploitation state of the vulnerability, for example "Available". - */ - exploitationState?: string | null; - /** - * Required. The external ID of the vulnerability. - */ - externalVulnerabilityId?: string | null; - /** - * Optional. Whether this is exploited in the wild. - */ - isExploitedWild?: boolean | null; - /** - * Optional. Reference URLs to the vulnerability. - */ - referenceUrls?: string[] | null; - /** - * Optional. The human readable remediation recommendation. This can be basic HTML formatted text. - */ - remediation?: string | null; - /** - * Optional. Risk rating for the vulnerability, for example "High". - */ - riskRating?: string | null; - /** - * Optional. Human readable name for the vulnerability. - */ - title?: string | null; - } - /** - * This is a temporary detail type that will be used to support vulnerabilities until the engines start using the full vulnerability objects. The "Inband" refers to the fact that all vulnerability details are included with every finding. - */ - export interface Schema$InbandVulnerabilityFindingDetail { - /** - * Optional. A short description of the proof of the vulnerability. - */ - formattedProofDetails?: string | null; - /** - * Optional. The URI that lead to this detection, if appropriate. - */ - requestUri?: string | null; + displayName?: string | null; /** - * Required. Vulnerability metadata. + * Required. The domain of the organization to generate the profile for. */ - vulnerability?: Schema$InbandVulnerability; + domain?: string | null; } /** * Captures the specific details of InitialAccessBroker (IAB) alert. @@ -1147,15 +850,6 @@ export namespace threatintelligence_v1beta { */ severity?: string | null; } - /** - * InitialAccessBrokerConfig is specific to Initial Access Broker (IAB) matching scenarios. - */ - export interface Schema$InitialAccessBrokerConfig { - /** - * Represents the comprehensive profile of the customer entity used for matching. - */ - entityProfile?: Schema$EntityProfile; - } /** * A detail object for an Initial Access Broker (IAB) finding. */ @@ -1297,55 +991,29 @@ export namespace threatintelligence_v1beta { */ export interface Schema$MarkAlertAsTriagedRequest {} /** - * Misconfiguration finding detail. - */ - export interface Schema$MisconfigurationFindingDetail { - /** - * Required. The misconfiguration metadata. - */ - misconfigurationMetadata?: Schema$MisconfigurationMetadata; - } - /** - * Misconfiguration metadata. + * This resource represents a long-running operation that is the result of a network API call. */ - export interface Schema$MisconfigurationMetadata { + export interface Schema$Operation { /** - * Optional. Description of the misconfiguration. + * 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. */ - description?: string | null; + done?: boolean | null; /** - * Optional. A user-friendly name for the misconfiguration. + * The error result of the operation in case of failure or cancellation. */ - displayName?: string | null; + error?: Schema$Status; /** - * Required. The identifier for the misconfiguration. This is an internal name generated by the finding provider. + * 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. */ - misconfigurationId?: string | null; + metadata?: {[key: string]: any} | null; /** - * Optional. References to external resources that provide more information about the misconfiguration. + * 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\}`. */ - references?: Schema$MisconfigurationReference[]; - /** - * Optional. Recommended remediation steps for the misconfiguration. - */ - remediation?: string | null; - /** - * Optional. The endpoint which was found to have the vulnerability. - */ - vulnerableUri?: string | null; - } - /** - * A reference to an external resource that provides more information about a misconfiguration. - */ - export interface Schema$MisconfigurationReference { - /** - * Required. The type of the reference (e.g., "description", "remediation"). - */ - type?: string | null; + name?: string | null; /** - * Required. The URI of the reference. + * 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`. */ - uri?: string | null; + response?: {[key: string]: any} | null; } /** * Structured priority analysis for a threat. @@ -1364,19 +1032,6 @@ export namespace threatintelligence_v1beta { */ reasoning?: string | null; } - /** - * Request message for FetchAlertUriStatus. - */ - export interface Schema$RefreshAlertUriStatusRequest {} - /** - * Response message for FetchAlertUriStatus. - */ - export interface Schema$RefreshAlertUriStatusResponse { - /** - * Output only. Status of the alert in WebRisk. - */ - state?: string | null; - } /** * Structured relevance analysis for a threat. */ @@ -1402,19 +1057,6 @@ export namespace threatintelligence_v1beta { */ relevant?: boolean | null; } - /** - * Request message for ReportAlertUri. - */ - export interface Schema$ReportAlertUriRequest {} - /** - * Response message for ReportAlertUri. - */ - export interface Schema$ReportAlertUriResponse { - /** - * Output only. Status of the alert in WebRisk. - */ - state?: string | null; - } /** * Response message for SearchFindings. */ @@ -1446,178 +1088,21 @@ export namespace threatintelligence_v1beta { severityLevel?: string | null; } /** - * The alert detail for a suspicious domain finding. - */ - export interface Schema$SuspiciousDomainAlertDetail { - /** - * The DNS details of the suspicious domain. - */ - dns?: Schema$SuspiciousDomainDnsDetails; - /** - * Required. The suspicious domain name. - */ - domain?: string | null; - /** - * The GTI details of the suspicious domain. - */ - gtiDetails?: Schema$SuspiciousDomainGtiDetails; - /** - * Output only. Name of Web Risk submission operation. - */ - webRiskOperation?: string | null; - /** - * Output only. Status of the Web Risk submission. - */ - webRiskState?: string | null; - /** - * The whois details of the suspicious domain. - */ - whois?: Schema$SuspiciousDomainWhoIsDetails; - } - /** - * The DNS details of the suspicious domain. - */ - export interface Schema$SuspiciousDomainDnsDetails { - /** - * The DNS records of the suspicious domain. - */ - dnsRecords?: Schema$SuspiciousDomainDnsRecord[]; - /** - * The time the DNS details were retrieved. - */ - retrievalTime?: string | null; - } - /** - * The DNS record of the suspicious domain. - */ - export interface Schema$SuspiciousDomainDnsRecord { - /** - * The name of the DNS record. - */ - record?: string | null; - /** - * The TTL of the DNS record. - */ - ttl?: number | null; - /** - * The type of the DNS record. - */ - type?: string | null; - /** - * The value of the DNS record. - */ - value?: string | null; - } - /** - * A detailed object for a suspicious Domain finding. - */ - export interface Schema$SuspiciousDomainFindingDetail { - /** - * The DNS details of the suspicious domain. - */ - dns?: Schema$SuspiciousDomainDnsDetails; - /** - * Required. The suspicious domain name. - */ - domain?: string | null; - /** - * The GTI details of the suspicious domain. - */ - gtiDetails?: Schema$SuspiciousDomainGtiDetails; - /** - * Required. Reference to the match score of the finding. This is a float value between 0 and 1 calculated by the matching engine. - */ - matchScore?: number | null; - /** - * Required. The severity of the finding. This indicates the potential impact of the threat. - */ - severity?: string | null; - /** - * The whois details of the suspicious domain. - */ - whois?: Schema$SuspiciousDomainWhoIsDetails; - } - /** - * The GTI details of the suspicious domain. - */ - export interface Schema$SuspiciousDomainGtiDetails { - /** - * The threat score of the suspicious domain. The threat score is a number between 0 and 100. - */ - threatScore?: number | null; - /** - * Output only. The verdict of the suspicious domain. - */ - verdict?: string | null; - /** - * VirusTotal link for the domain - */ - virustotalUri?: string | null; - } - /** - * The whois details of the suspicious domain. - */ - export interface Schema$SuspiciousDomainWhoIsDetails { - /** - * The time the whois details were retrieved. - */ - retrievalTime?: string | null; - /** - * The whois details of the suspicious domain. - */ - whois?: string | null; - } - /** - * Contains details for a technology watchlist alert. - */ - export interface Schema$TargetTechnologyAlertDetail { - /** - * Optional. The vulnerability match details. - */ - vulnerabilityMatch?: Schema$VulnerabilityMatch; - } - /** - * Contains details for a technology watchlist finding. + * 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$TargetTechnologyFindingDetail { - /** - * Optional. The vulnerability match details. - */ - vulnerabilityMatch?: Schema$VulnerabilityMatch; - } - /** - * TechnologyWatchListAlertThreshold contains the thresholds for alerting. - */ - export interface Schema$TechnologyWatchListAlertThreshold { - /** - * Optional. The minimum cvss V3 score for the alert. Ex: 7.0. Valid range is [0.0, 10.0]. - */ - cvssScoreMinimum?: number | null; + export interface Schema$Status { /** - * Optional. The minimum epss score for the alert. Ex: 0.8. Valid range is [0.0, 1.0]. + * The status code, which should be an enum value of google.rpc.Code. */ - epssScoreMinimum?: number | null; + code?: number | null; /** - * Optional. The exploitation states of the alert. + * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - exploitationStates?: string[] | null; + details?: Array<{[key: string]: any}> | null; /** - * Optional. The minimum priority for the alert. + * 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. */ - priorityMinimum?: string | null; - } - /** - * TechnologyWatchListConfig is the configuration for the technology watchlist. - */ - export interface Schema$TechnologyWatchListConfig { - /** - * Optional. Alert thresholds to effectively reduce noise. - */ - alertThreshold?: Schema$TechnologyWatchListAlertThreshold; - /** - * Optional. List of vendor, technology or cpe fingerprint. example: Microsoft office 360 Apache Server 3.5 cpe:2.3:a:microsoft:outlook:*:*:*:*:*:*:*:* - */ - technologies?: string[] | null; + message?: string | null; } /** * Response message for UpsertConfiguration. @@ -1628,43 +1113,6 @@ export namespace threatintelligence_v1beta { */ configuration?: string | null; } - /** - * Contains details about a vulnerability match. - */ - export interface Schema$VulnerabilityMatch { - /** - * Optional. Associated threat actors, malware, etc. This is embedded as a snapshot because the details of the association at the time of the vulnerability match are important for context and reporting. - */ - associations?: Schema$Association[]; - /** - * Required. The collection ID of the vulnerability. Ex: "vulnerability--cve-2025-9876". - */ - collectionId?: string | null; - /** - * Required. The CVE ID of the vulnerability. Ex: "CVE-2025-9876". See https://www.cve.org/ for more information. - */ - cveId?: string | null; - /** - * Required. The CVSS v3 score of the vulnerability. Example: 6.4. - */ - cvss3Score?: number | null; - /** - * Required. A description of the vulnerability. - */ - description?: string | null; - /** - * Required. The exploitation state of the vulnerability. - */ - exploitationState?: string | null; - /** - * Required. The risk rating of the vulnerability. - */ - riskRating?: string | null; - /** - * Required. The affected technologies. Ex: "Apache Struts". - */ - technologies?: string[] | null; - } export class Resource$Projects { context: APIRequestContext; @@ -1677,6 +1125,169 @@ export namespace threatintelligence_v1beta { this.configurations = new Resource$Projects$Configurations(this.context); this.findings = new Resource$Projects$Findings(this.context); } + + /** + * Triggers the generation of a Customer Profile for a project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const threatintelligence = google.threatintelligence('v1beta'); + * + * async function main() { + * const auth = new google.auth.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 threatintelligence.projects.generateOrgProfile({ + * // Required. The name of the project to generate the profile for. Format: projects/{project\} + * name: 'projects/my-project', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "displayName": "my_displayName", + * // "domain": "my_domain" + * // } + * }, + * }); + * 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. + */ + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: StreamMethodOptions + ): Promise>; + generateOrgProfile( + params?: Params$Resource$Projects$Generateorgprofile, + options?: MethodOptions + ): Promise>; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + callback: BodyResponseCallback + ): void; + generateOrgProfile(callback: BodyResponseCallback): void; + generateOrgProfile( + paramsOrCallback?: + | Params$Resource$Projects$Generateorgprofile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Generateorgprofile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Generateorgprofile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://threatintelligence.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:generateOrgProfile').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + 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$Generateorgprofile extends StandardParameters { + /** + * Required. The name of the project to generate the profile for. Format: projects/{project\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateOrgProfileConfigurationRequest; } export class Resource$Projects$Alerts { @@ -1732,7 +1343,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -1741,6 +1351,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -1893,7 +1504,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -1902,6 +1512,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2198,7 +1809,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -2207,6 +1817,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2357,7 +1968,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -2366,6 +1976,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2510,7 +2121,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -2519,6 +2129,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2813,7 +2424,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -2822,6 +2432,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2972,7 +2583,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -2981,6 +2591,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3086,304 +2697,6 @@ export namespace threatintelligence_v1beta { } } - /** - * Return the status of a URI submitted to Google WebRisk. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const threatintelligence = google.threatintelligence('v1beta'); - * - * async function main() { - * const auth = new google.auth.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 threatintelligence.projects.alerts.refreshUriStatus({ - * // Required. Name of alert to refresh status from WebRisk - * name: 'projects/my-project/alerts/my-alert', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "state": "my_state" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - refreshUriStatus( - params: Params$Resource$Projects$Alerts$Refreshuristatus, - options: StreamMethodOptions - ): Promise>; - refreshUriStatus( - params?: Params$Resource$Projects$Alerts$Refreshuristatus, - options?: MethodOptions - ): Promise>; - refreshUriStatus( - params: Params$Resource$Projects$Alerts$Refreshuristatus, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - refreshUriStatus( - params: Params$Resource$Projects$Alerts$Refreshuristatus, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - refreshUriStatus( - params: Params$Resource$Projects$Alerts$Refreshuristatus, - callback: BodyResponseCallback - ): void; - refreshUriStatus( - callback: BodyResponseCallback - ): void; - refreshUriStatus( - paramsOrCallback?: - | Params$Resource$Projects$Alerts$Refreshuristatus - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Alerts$Refreshuristatus; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Alerts$Refreshuristatus; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://threatintelligence.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta/{+name}:refreshUriStatus').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Report the URI associated with an alert to Google WebRisk. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const threatintelligence = google.threatintelligence('v1beta'); - * - * async function main() { - * const auth = new google.auth.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 threatintelligence.projects.alerts.reportAlertUri({ - * // Required. Name of alert to submit to WebRisk. - * name: 'projects/my-project/alerts/my-alert', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "state": "my_state" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - reportAlertUri( - params: Params$Resource$Projects$Alerts$Reportalerturi, - options: StreamMethodOptions - ): Promise>; - reportAlertUri( - params?: Params$Resource$Projects$Alerts$Reportalerturi, - options?: MethodOptions - ): Promise>; - reportAlertUri( - params: Params$Resource$Projects$Alerts$Reportalerturi, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - reportAlertUri( - params: Params$Resource$Projects$Alerts$Reportalerturi, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - reportAlertUri( - params: Params$Resource$Projects$Alerts$Reportalerturi, - callback: BodyResponseCallback - ): void; - reportAlertUri( - callback: BodyResponseCallback - ): void; - reportAlertUri( - paramsOrCallback?: - | Params$Resource$Projects$Alerts$Reportalerturi - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Alerts$Reportalerturi; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Alerts$Reportalerturi; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://threatintelligence.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta/{+name}:reportAlertUri').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - /** * Marks an alert to closed state - RESOLVED. * @example @@ -3429,7 +2742,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -3438,6 +2750,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3588,7 +2901,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -3597,6 +2909,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3747,7 +3060,6 @@ export namespace threatintelligence_v1beta { * // Example response * // { * // "aiSummary": "my_aiSummary", - * // "assets": [], * // "audit": {}, * // "configurations": [], * // "detail": {}, @@ -3756,6 +3068,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3966,28 +3279,6 @@ export namespace threatintelligence_v1beta { */ requestBody?: Schema$MarkAlertAsReadRequest; } - export interface Params$Resource$Projects$Alerts$Refreshuristatus extends StandardParameters { - /** - * Required. Name of alert to refresh status from WebRisk - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RefreshAlertUriStatusRequest; - } - export interface Params$Resource$Projects$Alerts$Reportalerturi extends StandardParameters { - /** - * Required. Name of alert to submit to WebRisk. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReportAlertUriRequest; - } export interface Params$Resource$Projects$Alerts$Resolve extends StandardParameters { /** * Required. Name of the alert to mark as resolved. Format: projects/{project\}/alerts/{alert\} @@ -4923,12 +4214,10 @@ export namespace threatintelligence_v1beta { * // { * // "aiSummary": "my_aiSummary", * // "alert": "my_alert", - * // "asset": "my_asset", * // "audit": {}, * // "configurations": [], * // "detail": {}, * // "displayName": "my_displayName", - * // "issue": "my_issue", * // "name": "my_name", * // "provider": "my_provider", * // "relevanceAnalysis": {}, diff --git a/src/apis/walletobjects/v1.ts b/src/apis/walletobjects/v1.ts index 703902ea623..575bfa7537f 100644 --- a/src/apis/walletobjects/v1.ts +++ b/src/apis/walletobjects/v1.ts @@ -928,7 +928,7 @@ export namespace walletobjects_v1 { */ textModulesData?: Schema$TextModuleData[]; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1106,7 +1106,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1366,7 +1366,7 @@ export namespace walletobjects_v1 { */ textModulesData?: Schema$TextModuleData[]; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1550,7 +1550,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1645,7 +1645,7 @@ export namespace walletobjects_v1 { */ textModulesData?: Schema$TextModuleData[]; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1784,7 +1784,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -1960,7 +1960,7 @@ export namespace walletobjects_v1 { */ textModulesData?: Schema$TextModuleData[]; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -2122,7 +2122,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -2531,7 +2531,7 @@ export namespace walletobjects_v1 { */ textModulesData?: Schema$TextModuleData[]; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -2693,7 +2693,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -3196,7 +3196,7 @@ export namespace walletobjects_v1 { */ titleImage?: Schema$Image; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -3338,7 +3338,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -4024,7 +4024,7 @@ export namespace walletobjects_v1 { */ transitType?: string | null; /** - * Optional value added module data. Maximum of ten on the class. For a pass only ten will be displayed, prioritizing those from the object. + * Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -4230,7 +4230,7 @@ export namespace walletobjects_v1 { */ validTimeInterval?: Schema$TimeInterval; /** - * Optional value added module data. Maximum of ten on the object. + * Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. */ valueAddedModuleData?: Schema$ValueAddedModuleData[]; /** @@ -6320,7 +6320,7 @@ export namespace walletobjects_v1 { } /** - * Modifies linked offer objects for the event ticket object with the given ID. + * Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the event ticket object with the given ID. * @example * ```js * // Before running the sample: @@ -16788,7 +16788,7 @@ export namespace walletobjects_v1 { } /** - * Modifies linked offer objects for the loyalty object with the given ID. + * Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the loyalty object with the given ID. * @example * ```js * // Before running the sample: diff --git a/src/apis/workflows/v1.ts b/src/apis/workflows/v1.ts index 3a596d4d1b1..44cf065d62f 100644 --- a/src/apis/workflows/v1.ts +++ b/src/apis/workflows/v1.ts @@ -535,7 +535,7 @@ export namespace workflows_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/workflows/v1beta.ts b/src/apis/workflows/v1beta.ts index 1e277e3f94f..ee62b3ff593 100644 --- a/src/apis/workflows/v1beta.ts +++ b/src/apis/workflows/v1beta.ts @@ -473,7 +473,7 @@ export namespace workflows_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/workloadmanager/v1.ts b/src/apis/workloadmanager/v1.ts index a7ae070f72a..c9ad2a65be8 100644 --- a/src/apis/workloadmanager/v1.ts +++ b/src/apis/workloadmanager/v1.ts @@ -124,6 +124,105 @@ export namespace workloadmanager_v1 { } } + /** + * Active directory details + */ + export interface Schema$ActiveDirectory { + /** + * Optional. DNS IP address + */ + dnsAddress?: string | null; + /** + * Optional. human readable form of a domain such as “google.com”. + */ + domain?: string | null; + /** + * Optional. domain username + */ + domainUsername?: string | null; + /** + * Required. secret_manager_secret + */ + secretManagerSecret?: string | null; + /** + * Required. active directory type + */ + type?: string | null; + } + /** + * The Actuation object represents the bootstrap state and output results of deployed infrastructure and software. + */ + export interface Schema$Actuation { + /** + * Output only. [Output only] Actuation output + */ + actuationOutput?: Schema$ActuationOutput; + /** + * Output only. [Output only] Deployment output + */ + deploymentOutput?: Schema$DeploymentOutput[]; + /** + * Output only. [Output only] End time stamp + */ + endTime?: string | null; + /** + * The name of actuation resource. The format is projects/{project\}/locations/{location\}/deployments/{deployment\}/actuations/{actuation\} + */ + name?: string | null; + /** + * Output only. [Output only] Start time stamp + */ + startTime?: string | null; + /** + * Output only. [Output only] Actuation state + */ + state?: string | null; + } + /** + * Message for output of Actuation + */ + export interface Schema$ActuationOutput { + /** + * A link to gcs file that store build logs + */ + actuateLogs?: string | null; + /** + * Output only. error message return from ansible. + */ + ansibleError?: string | null; + /** + * Output only. failed task name return from ansible. + */ + ansibleFailedTask?: string[] | null; + /** + * reference to Blueprint Controller deployment and revision resource + */ + blueprintId?: string | null; + /** + * Cloud Build instance UUID associated with this revision, without any suffix or prefix + */ + cloudbuildId?: string | null; + /** + * Output only. Code describing any errors that may have occurred. If not specified, there is no error in actuation. + */ + errorCode?: string | null; + /** + * A link to actuation cloud build log. + */ + errorLogs?: string | null; + /** + * Output only. whether the error message is user facing. If true, the error message will be shown in the UI. + */ + hasUserFacingErrorMsg?: boolean | null; + /** + * Output only. error message return from terraform. + */ + terraformError?: string | null; + /** + * reference to terraform template used + */ + terraformTemplate?: string | null; + } /** * * An AgentCommand specifies a one-time executable program for the agent to run. */ @@ -299,6 +398,75 @@ export namespace workloadmanager_v1 { */ unspecifiedStateMessage?: string | null; } + /** + * Message for sap instant details + */ + export interface Schema$AppDetails { + /** + * Optional. instance id for app + */ + appInstanceId?: string | null; + /** + * Application service account - let custoemrs bring their own SA for application + */ + appServiceAccount?: string | null; + /** + * Optional. Customized vm names + */ + appVmNames?: string[] | null; + /** + * Required. image for ascs server + */ + ascsImage?: string | null; + /** + * Optional. instance id for ascs + */ + ascsInstanceId?: string | null; + /** + * Required. ascs_machine_type + */ + ascsMachineType?: string | null; + /** + * ASCS service account - let custoemrs bring their own SA for ASCS + */ + ascsServiceAccount?: string | null; + /** + * Optional. ASCS vm name + */ + ascsVm?: string | null; + /** + * Optional. instance id for ers + */ + ersInstanceId?: string | null; + /** + * Optional. ERS vm name + */ + ersVm?: string | null; + /** + * Required. image for app server and ascs server + */ + image?: string | null; + /** + * Required. machine type + */ + machineType?: string | null; + /** + * Required. secret_manager_secret + */ + secretManagerSecret?: string | null; + /** + * Optional. Storage location + */ + sharedStorage?: string | null; + /** + * Required. The SAP SID is a three-digit server-specific unique identification code. + */ + sid?: string | null; + /** + * Required. vms_multiplier + */ + vmsMultiplier?: number | null; + } /** * Backup properties. */ @@ -384,6 +552,96 @@ export namespace workloadmanager_v1 { */ subComponentsHealth?: Schema$ComponentHealth[]; } + /** + * Database details + */ + export interface Schema$Database { + /** + * Required. disk_type + */ + diskType?: string | null; + /** + * Optional. only useful for Linux High Availability setup + */ + floatingIpAddress?: string | null; + /** + * Required. machine type + */ + machineType?: string | null; + /** + * Optional. the name of a secondary-sole-tenant node/node group + */ + secondarySoleTenantNode?: string | null; + /** + * Optional. the type of a secondary-sole-tenant node/node group e.g. compute.googleapis.com/node-name + */ + secondarySoleTenantNodeType?: string | null; + /** + * Required. secret_manager_secret + */ + secretManagerSecret?: string | null; + /** + * Required. whether simultaneous multithreading is enabled or not + */ + smt?: boolean | null; + /** + * Optional. the name of a primary sole-tenant node/node group + */ + soleTenantNode?: string | null; + /** + * Optional. the type of a primary sole-tenant node/node group e.g. compute.googleapis.com/node-name + */ + soleTenantNodeType?: string | null; + /** + * Required. whether to have TempDB on local SSD + */ + tempdbOnSsd?: boolean | null; + /** + * Required. SHARED or SOLE_TENANT + */ + tenancyModel?: string | null; + } + /** + * Message for sap instant details + */ + export interface Schema$DatabaseDetails { + /** + * Database service account - let custoemrs bring their own SA for database + */ + databaseServiceAccount?: string | null; + /** + * Required. disk_type + */ + diskType?: string | null; + /** + * Required. image for database server + */ + image?: string | null; + /** + * Optional. instance id + */ + instanceId?: string | null; + /** + * Required. machine type + */ + machineType?: string | null; + /** + * Optional. primary db vm name + */ + primaryDbVm?: string | null; + /** + * Optional. secondary db vm name + */ + secondaryDbVm?: string | null; + /** + * Required. secret_manager_secret + */ + secretManagerSecret?: string | null; + /** + * Required. The SID is a three-digit server-specific unique identification code. + */ + sid?: string | null; + } /** * Database Properties. */ @@ -397,6 +655,68 @@ export namespace workloadmanager_v1 { */ databaseType?: string | null; } + /** + * The Deployment object represents user intent for deploying a specific type of workload. + */ + export interface Schema$Deployment { + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Description of the Deployment + */ + description?: string | null; + /** + * The name of deployment resource. The format will be 'projects/{project_id\}/locations/{location_id\}/deployments/{deployment_id\}' + */ + name?: string | null; + /** + * SAP system workload input + */ + sapSystemS4Config?: Schema$SapSystemS4Config; + /** + * User-specified Service Account (SA) credentials to be used for cloud build Format: `projects/{projectID\}/serviceAccounts/{serviceAccount\}` The default Cloud Build SA will be used initially if this field is not set during deployment creation + */ + serviceAccount?: string | null; + /** + * MS SQL workload input + */ + sqlServerWorkload?: Schema$SqlServerWorkload; + /** + * Output only. Current state of the deployment. + */ + state?: string | null; + /** + * Optional. terraform_variables represents all the Terraform variables for the deployment workload. The key is the name of the Terraform variable, and the value is the TerraformVariable. For example: { "project_id": { "input_value": { "string_value": "my-project-id" \} \}, "zone": { "input_value": { "string_value": "us-central1-a" \} \} \} + */ + terraformVariables?: {[key: string]: Schema$TerraformVariable} | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: string | null; + /** + * Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project\}/locations/{location\}/workerPools/{workerPoolId\}`. If this field is unspecified, the default Cloud Build worker pool will be used. + */ + workerPool?: string | null; + /** + * Optional. Workload type of the deployment + */ + workloadType?: string | null; + } + /** + * Message for output of deployment resource + */ + export interface Schema$DeploymentOutput { + /** + * name of the resource + */ + name?: string | null; + /** + * type of the resource + */ + 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); \} */ @@ -720,6 +1040,40 @@ export namespace workloadmanager_v1 { */ invalidRules?: Schema$InvalidRule[]; } + /** + * The response object from `ListActuations`. + */ + export interface Schema$ListActuationsResponse { + /** + * The list of Actuation + */ + actuations?: Schema$Actuation[]; + /** + * 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; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Message for response to listing Deployments + */ + export interface Schema$ListDeploymentsResponse { + /** + * The list of Deployment + */ + deployments?: Schema$Deployment[]; + /** + * 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; + } /** * List discovered profile Response returns discovered profiles from agents */ @@ -865,6 +1219,56 @@ export namespace workloadmanager_v1 { */ name?: string | null; } + /** + * Message for sap instant details + */ + export interface Schema$LocationDetails { + /** + * Optional. create firewall, if true, create firewall for the deployment. This field provides an option to not always create firewall for the deployment. + */ + createCommsFirewall?: boolean | null; + /** + * Optional. network tags + */ + customTags?: string[] | null; + /** + * Optional. when user skip DNS configuration from UI, deployment_dns_enabled=false otherwise deployment_dns_enabled=true + */ + deploymentDnsEnabled?: boolean | null; + /** + * Optional. dns zone name + */ + dnsZone?: string | null; + /** + * Optional. dns_zone_name_suffix + */ + dnsZoneNameSuffix?: string | null; + internetAccess?: string | null; + /** + * Optional. network project + */ + networkProject?: string | null; + /** + * Required. region_name + */ + regionName?: string | null; + /** + * Required. subnet_name + */ + subnetName?: string | null; + /** + * Required. vpc_name + */ + vpcName?: string | null; + /** + * Required. zone1_name + */ + zone1Name?: string | null; + /** + * Optional. zone2_name + */ + zone2Name?: string | null; + } /** * Message for additional information generated by the execution */ @@ -945,6 +1349,35 @@ export namespace workloadmanager_v1 { */ verb?: string | null; } + /** + * pacemaker configuration + */ + export interface Schema$Pacemaker { + /** + * Required. bucket location for node certificates + */ + bucketNameNodeCertificates?: string | null; + /** + * Required. pacemaker cluster name + */ + pacemakerCluster?: string | null; + /** + * Required. pacemaker cluster secret name + */ + pacemakerClusterSecret?: string | null; + /** + * Required. pacemaker cluster username + */ + pacemakerClusterUsername?: string | null; + /** + * Required. sql pacemaker secret name + */ + sqlPacemakerSecret?: string | null; + /** + * Required. sql pacemaker username + */ + sqlPacemakerUsername?: string | null; + } /** * Contains the details of a product. */ @@ -1527,13 +1960,67 @@ export namespace workloadmanager_v1 { numbers?: string[] | null; } /** - * A presentation of SAP workload insight. The schema of SAP workloads validation related data. + * Message for sap system workload */ - export interface Schema$SapValidation { + export interface Schema$SapSystemS4Config { + allowStoppingForUpdate?: boolean | null; /** - * Required. The project_id of the cloud project that the Insight data comes from. + * Ansible runner service account - let custoemrs bring their own SA for Ansible runner */ - projectId?: string | null; + ansibleRunnerServiceAccount?: string | null; + /** + * instance details + */ + app?: Schema$AppDetails; + /** + * database details + */ + database?: Schema$DatabaseDetails; + /** + * Required. two model non-HA and HA supported + */ + deploymentModel?: string | null; + /** + * Required. deployment environment + */ + environmentType?: string | null; + /** + * the project that infrastructure deployed, current only support the same project where the deployment resource exist. + */ + gcpProjectId?: string | null; + /** + * database details + */ + location?: Schema$LocationDetails; + /** + * Required. media_bucket_name + */ + mediaBucketName?: string | null; + /** + * Optional. sap_boot_disk_image + */ + sapBootDiskImage?: string | null; + /** + * Required. support scale up and scale out + */ + scalingMethod?: string | null; + /** + * Required. sap hana version + */ + version?: string | null; + /** + * vm_prefix + */ + vmPrefix?: string | null; + } + /** + * A presentation of SAP workload insight. The schema of SAP workloads validation related data. + */ + export interface Schema$SapValidation { + /** + * Required. The project_id of the cloud project that the Insight data comes from. + */ + projectId?: string | null; /** * Optional. A list of SAP validation metrics data. */ @@ -1628,6 +2115,47 @@ export namespace workloadmanager_v1 { */ timeoutSeconds?: number | null; } + /** + * Location and networking details for configuring SQL server workload + */ + export interface Schema$SqlLocationDetails { + /** + * Optional. create a new DNS Zone when the field is empty, Only show for `Using an existing DNS` List of existing DNS Zones tf variable name: existing_dns_zone_name + */ + dnsZone?: string | null; + /** + * Required. the project that infrastructure deployed, currently only supports the same project where the deployment resource exists. + */ + gcpProjectId?: string | null; + /** + * Required. Internet Access + */ + internetAccess?: string | null; + /** + * Required. network name + */ + network?: string | null; + /** + * Required. primary zone + */ + primaryZone?: string | null; + /** + * Required. region name + */ + region?: string | null; + /** + * Optional. secondary zone can't be same as primary_zone and is only for High Availability deployment mode + */ + secondaryZone?: string | null; + /** + * Required. subnetwork name + */ + subnetwork?: string | null; + /** + * Optional. teriary zone can't be same as primary_zone and secondary zone, and it is only for High Availability deployment mode + */ + tertiaryZone?: string | null; + } /** * A presentation of SQLServer workload insight. The schema of SqlServer workloads validation related data. */ @@ -1671,6 +2199,79 @@ export namespace workloadmanager_v1 { */ type?: string | null; } + /** + * Message for MS SQL workload + */ + export interface Schema$SqlServerWorkload { + /** + * Required. active directory details + */ + activeDirectory?: Schema$ActiveDirectory; + /** + * Compute engine service account - let customers bring their own SA for Compute engine + */ + computeEngineServiceAccount?: string | null; + /** + * Required. database details + */ + database?: Schema$Database; + /** + * Required. HIGH_AVAILABILITY or SINGLE_INSTANCE + */ + deploymentModel?: string | null; + /** + * Required. deployment environment + */ + environmentType?: string | null; + /** + * Optional. SHARED_DISK or S2D + */ + fciType?: string | null; + /** + * Optional. AOAG or FCI, it is only needed for High Availability deployment mode + */ + haType?: string | null; + /** + * Required. SQL licensing type + */ + isSqlPayg?: boolean | null; + /** + * Required. location details + */ + location?: Schema$SqlLocationDetails; + /** + * Required. name of the media storing SQL server installation files + */ + mediaBucket?: string | null; + /** + * Required. type of the operating system the SQL server is going to run on top of + */ + operatingSystemType?: string | null; + /** + * Required. the image of the operating system + */ + osImage?: string | null; + /** + * Optional. OS image type, it's used to create boot disks for VM instances When either Windows licensing type or SQL licensing type is BYOL, this option is disabled and default to custom image + */ + osImageType?: string | null; + /** + * Optional. pacemaker configuration, only applicable for Linux HA deployments + */ + pacemaker?: Schema$Pacemaker; + /** + * Optional. SQL Server Edition type, only applicable when Operating System is Linux + */ + sqlServerEdition?: string | null; + /** + * Optional. 2017 or 2019 or 2022 + */ + sqlServerVersion?: string | null; + /** + * Required. should be unique in the project + */ + vmPrefix?: 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). */ @@ -1705,6 +2306,15 @@ export namespace workloadmanager_v1 { */ newFixes?: string | null; } + /** + * In order to align with Infra Manager dependency, we create the same TerraformVariable message to represent a Terraform input variable, by following Infra Manager's API documentation: https://cloud.google.com/infrastructure-manager/docs/reference/rest A Terraform input variable. + */ + export interface Schema$TerraformVariable { + /** + * Optional. Input variable value. + */ + inputValue?: any | null; + } /** * The schema of torso workload validation data. */ @@ -1851,6 +2461,7 @@ export namespace workloadmanager_v1 { export class Resource$Projects$Locations { context: APIRequestContext; + deployments: Resource$Projects$Locations$Deployments; discoveredprofiles: Resource$Projects$Locations$Discoveredprofiles; evaluations: Resource$Projects$Locations$Evaluations; insights: Resource$Projects$Locations$Insights; @@ -1858,6 +2469,9 @@ export namespace workloadmanager_v1 { rules: Resource$Projects$Locations$Rules; constructor(context: APIRequestContext) { this.context = context; + this.deployments = new Resource$Projects$Locations$Deployments( + this.context + ); this.discoveredprofiles = new Resource$Projects$Locations$Discoveredprofiles(this.context); this.evaluations = new Resource$Projects$Locations$Evaluations( @@ -2010,7 +2624,7 @@ export namespace workloadmanager_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2188,6 +2802,1328 @@ export namespace workloadmanager_v1 { pageToken?: string; } + export class Resource$Projects$Locations$Deployments { + context: APIRequestContext; + actuations: Resource$Projects$Locations$Deployments$Actuations; + constructor(context: APIRequestContext) { + this.context = context; + this.actuations = new Resource$Projects$Locations$Deployments$Actuations( + this.context + ); + } + + /** + * Creates a new Deployment in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.create({ + * // Required. Id of the deployment + * deploymentId: 'placeholder-value', + * // Required. The resource prefix of the Deployment using the form: `projects/{project_id\}/locations/{location_id\}` + * 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", + * // "description": "my_description", + * // "name": "my_name", + * // "sapSystemS4Config": {}, + * // "serviceAccount": "my_serviceAccount", + * // "sqlServerWorkload": {}, + * // "state": "my_state", + * // "terraformVariables": {}, + * // "updateTime": "my_updateTime", + * // "workerPool": "my_workerPool", + * // "workloadType": "my_workloadType" + * // } + * }, + * }); + * 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$Deployments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Deployments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Deployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Deployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Deployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Deployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').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 Deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.delete({ + * // Optional. If set to true, any actuation will also be deleted. Followed the best practice from https://aip.dev/135#cascading-delete + * force: 'placeholder-value', + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/deployments/my-deployment', + * }); + * 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$Deployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Deployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Deployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Deployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Deployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Deployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.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 details of a single Deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.get({ + * // Required. Name of the resource. The format will be 'projects/{project_id\}/locations/{location_id\}/deployments/{deployment_id\}' + * name: 'projects/my-project/locations/my-location/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "name": "my_name", + * // "sapSystemS4Config": {}, + * // "serviceAccount": "my_serviceAccount", + * // "sqlServerWorkload": {}, + * // "state": "my_state", + * // "terraformVariables": {}, + * // "updateTime": "my_updateTime", + * // "workerPool": "my_workerPool", + * // "workloadType": "my_workloadType" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Deployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Deployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Deployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Deployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Deployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Deployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.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 Deployments in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.list({ + * // Optional. Filter resource follow https://google.aip.dev/160 + * filter: 'placeholder-value', + * // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The resource prefix of the Deployment using the form: `projects/{project_id\}/locations/{location_id\}` + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deployments": [], + * // "nextPageToken": "my_nextPageToken", + * // "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$Deployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Deployments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Deployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Deployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Deployments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Deployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').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$Deployments$Create extends StandardParameters { + /** + * Required. Id of the deployment + */ + deploymentId?: string; + /** + * Required. The resource prefix of the Deployment using the form: `projects/{project_id\}/locations/{location_id\}` + */ + 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$Deployment; + } + export interface Params$Resource$Projects$Locations$Deployments$Delete extends StandardParameters { + /** + * Optional. If set to true, any actuation will also be deleted. Followed the best practice from https://aip.dev/135#cascading-delete + */ + force?: boolean; + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Deployments$Get extends StandardParameters { + /** + * Required. Name of the resource. The format will be 'projects/{project_id\}/locations/{location_id\}/deployments/{deployment_id\}' + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Deployments$List extends StandardParameters { + /** + * Optional. Filter resource follow https://google.aip.dev/160 + */ + filter?: string; + /** + * Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The resource prefix of the Deployment using the form: `projects/{project_id\}/locations/{location_id\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Deployments$Actuations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new actuation for an existing Deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.actuations.create({ + * // Required. The resource name of the Actuation location using the form: 'projects/{project_id\}/locations/{location\}/deployments/{deployment\}' + * parent: + * 'projects/my-project/locations/my-location/deployments/my-deployment', + * // 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 + * // { + * // "actuationOutput": {}, + * // "deploymentOutput": [], + * // "endTime": "my_endTime", + * // "name": "my_name", + * // "startTime": "my_startTime", + * // "state": "my_state" + * // } + * }, + * }); + * 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$Deployments$Actuations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Deployments$Actuations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Actuations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Actuations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Deployments$Actuations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/actuations').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 Actuation + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.actuations.delete({ + * // Required. The name of the book to delete. project/{project_id\}/locations/{location_id\}/deployments/{deployment_id\}/actuations/{actuation_id\} + * name: 'projects/my-project/locations/my-location/deployments/my-deployment/actuations/my-actuation', + * }); + * 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$Deployments$Actuations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Deployments$Actuations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Actuations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Actuations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Deployments$Actuations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.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 details of a single Actuation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.actuations.get({ + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/deployments/my-deployment/actuations/my-actuation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "actuationOutput": {}, + * // "deploymentOutput": [], + * // "endTime": "my_endTime", + * // "name": "my_name", + * // "startTime": "my_startTime", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Deployments$Actuations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Deployments$Actuations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Deployments$Actuations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Actuations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Actuations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Deployments$Actuations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.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 Actuations in a given project, location and deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workloadmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workloadmanager = google.workloadmanager('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 workloadmanager.projects.locations.deployments.actuations.list({ + * // Optional. Filtering results + * filter: 'placeholder-value', + * // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + * 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. The resource prefix of the Actuation using the form: 'projects/{project_id\}/locations/{location\}/deployments/{deployment\}' + * parent: + * 'projects/my-project/locations/my-location/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "actuations": [], + * // "nextPageToken": "my_nextPageToken", + * // "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$Deployments$Actuations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Deployments$Actuations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Deployments$Actuations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Deployments$Actuations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Deployments$Actuations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deployments$Actuations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deployments$Actuations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Deployments$Actuations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://workloadmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/actuations').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$Deployments$Actuations$Create extends StandardParameters { + /** + * Required. The resource name of the Actuation location using the form: 'projects/{project_id\}/locations/{location\}/deployments/{deployment\}' + */ + 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$Actuation; + } + export interface Params$Resource$Projects$Locations$Deployments$Actuations$Delete extends StandardParameters { + /** + * Required. The name of the book to delete. project/{project_id\}/locations/{location_id\}/deployments/{deployment_id\}/actuations/{actuation_id\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Deployments$Actuations$Get extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Deployments$Actuations$List extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: 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. The resource prefix of the Actuation using the form: 'projects/{project_id\}/locations/{location\}/deployments/{deployment\}' + */ + parent?: string; + } + export class Resource$Projects$Locations$Discoveredprofiles { context: APIRequestContext; health: Resource$Projects$Locations$Discoveredprofiles$Health; diff --git a/src/apis/workstations/v1.ts b/src/apis/workstations/v1.ts index 666c8e92bd0..01fb066e9e3 100644 --- a/src/apis/workstations/v1.ts +++ b/src/apis/workstations/v1.ts @@ -1328,7 +1328,7 @@ export namespace workstations_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/youtube/v3.ts b/src/apis/youtube/v3.ts index 0e86a6ddba3..28c205dc674 100644 --- a/src/apis/youtube/v3.ts +++ b/src/apis/youtube/v3.ts @@ -2347,6 +2347,43 @@ export namespace youtube_v3 { */ userComment?: string | null; } + /** + * Details about the gift event, this is only set if the type is 'giftEvent'. + */ + export interface Schema$LiveChatGiftDetails { + /** + * The alternative text to be used for accessibility. + */ + altText?: string | null; + /** + * The number of times the gift has been sent in a row. + */ + comboCount?: number | null; + /** + * The duration of the gift. + */ + giftDuration?: string | null; + /** + * The name of the gift. + */ + giftName?: string | null; + /** + * The URL of the gift image. + */ + giftUrl?: string | null; + /** + * Whether the gift involves a visual effect. + */ + hasVisualEffect?: boolean | null; + /** + * The cost of the gift in jewels. + */ + jewelsCount?: number | null; + /** + * The BCP-47 language code of the gift. + */ + language?: string | null; + } export interface Schema$LiveChatGiftMembershipReceivedDetails { /** * The ID of the membership gifting message that is related to this gift membership. This ID will always refer to a message whose type is 'membershipGiftingEvent'. @@ -2488,7 +2525,7 @@ export namespace youtube_v3 { retractedMessageId?: string | null; } /** - * Next ID: 34 + * Next ID: 35 */ export interface Schema$LiveChatMessageSnippet { /** @@ -2503,6 +2540,10 @@ export namespace youtube_v3 { * Details about the funding event, this is only set if the type is 'fanFundingEvent'. */ fanFundingEventDetails?: Schema$LiveChatFanFundingEventDetails; + /** + * Details about the gift event, this is only set if the type is 'giftEvent'. + */ + giftDetails?: Schema$LiveChatGiftDetails; /** * Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'. */ diff --git a/src/index.ts b/src/index.ts index a8ee2c1f5cd..8b15192f14e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -116,6 +116,8 @@ export {books_v1} from './apis/books/v1'; export {businessprofileperformance_v1} from './apis/businessprofileperformance/v1'; export {calendar_v3} from './apis/calendar/v3'; export {certificatemanager_v1} from './apis/certificatemanager/v1'; +export {ces_v1} from './apis/ces/v1'; +export {ces_v1beta} from './apis/ces/v1beta'; export {chat_v1} from './apis/chat/v1'; export {checks_v1alpha} from './apis/checks/v1alpha'; export {chromemanagement_v1} from './apis/chromemanagement/v1'; @@ -317,6 +319,7 @@ export {gkeonprem_v1} from './apis/gkeonprem/v1'; export {gmail_v1} from './apis/gmail/v1'; export {gmailpostmastertools_v1} from './apis/gmailpostmastertools/v1'; export {gmailpostmastertools_v1beta1} from './apis/gmailpostmastertools/v1beta1'; +export {gmailpostmastertools_v2} from './apis/gmailpostmastertools/v2'; export {groupsmigration_v1} from './apis/groupsmigration/v1'; export {groupssettings_v1} from './apis/groupssettings/v1'; export {healthcare_v1} from './apis/healthcare/v1'; @@ -349,7 +352,6 @@ export {language_v1beta2} from './apis/language/v1beta2'; export {language_v2} from './apis/language/v2'; export {libraryagent_v1} from './apis/libraryagent/v1'; export {licensing_v1} from './apis/licensing/v1'; -export {lifesciences_v2beta} from './apis/lifesciences/v2beta'; export {localservices_v1} from './apis/localservices/v1'; export {logging_v2} from './apis/logging/v2'; export {looker_v1} from './apis/looker/v1';